Repository navigation
test: add node:test coverage for drum mapping, lane presets, tab conversion - #17
Conversation
…ersion Node-only module.exports hook after the window.slopsmithViz_drums registration, mirroring the piano plugin's pattern. Covers custom- MIDI-mapping validation (incl. prototype-poisoning), drum_tab hit -> note conversion (flams, ghost timing guards, unknown pieces), lane-preset rebuilding, and arrangement auto-selection. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Warning Review limit reached
Next review available in: 3 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Eighteenth repo from the org test-coverage audit. Same shape as feedBack-plugin-piano#20 (visualization plugin, MIDI capability, module.exports hook after the
window.slopsmithViz_drums/feedBackViz_drumsregistration).16 tests:
noteToMidi/_rgbStr: same math/formatting pattern as other plugins_validateCustomMapping: keeps only in-range MIDI + known lane ids, rejects non-objects/arrays/__proto__-poisoning keys, empty-after-filter → null_drumTabHitsToNotes: known-piece →{t,s,f,ac}conversion with accent threshold, drops unknown piece-ids and non-finite/negative timestamps, emits a leading grace note for flams (excluded from scoring), non-array payload →[]_applyLanePresetrebuildsDRUM_LANES+ the default MIDI→lane map in place (rb4 folds mid-toms into a single lane), unknown preset name falls back tophase_shift_8, unmapped MIDI notes resolve to-1_midiResolveSaved: stored-key match with legacy bare-id fallbackmatchesArrangement:has_drum_tabflag wins regardless of arrangement name, drum-pattern name matching, falsy songInfo rejected🤖 Generated with Claude Code