aboutsummaryrefslogtreecommitdiff
path: root/tests/test-music-config-helpers-untested.el
Commit message (Collapse)AuthorAgeFilesLines
* test: make subr mocks variadic for native-comp, add arity meta-testCraig Jennings2026-06-211-2/+2
| | | | | | | | Re-enabling native-comp surfaced a suite-wide fragility. When a test redefines a C primitive (or a native-compiled function), native-comp routes native callers through a trampoline that calls the mock with the primitive's maximum arity. A fixed-arity mock narrower than the primitive then throws wrong-number-of-arguments, intermittently, as the eln-cache fills. I swept every arity-narrow subr mock to append &rest _ (188 sites, preserving any named args the body uses), and added tests/test-meta-subr-mock-arity.el, which fails make test on any subr mock too narrow for the primitive's arity. The rule isn't "never mock a subr". The suite mocks message and completing-read freely. It's "a subr mock must accept the primitive's arity." Background, the three failure modes, and the research are in docs/native-comp-subr-mocking.org.
* test(music-config): cover assertion guards, M3U picker, EMMS lazy setupCraig Jennings2026-05-141-0/+224
music-config has a large sibling-test fleet for the pure helpers; the gap was a handful of small dispatchers and assertion guards. 13 new tests, EMMS primitives stubbed throughout: - `cj/music--assert-m3u-files-exist`: passes a non-empty list through, errors on empty. - `cj/music--sync-playlist-file`: sets the buffer-local file ref + resets point. - `cj/music--select-m3u-file`: returns the chosen path, returns nil on Cancel, errors when no files exist. - `cj/emms--setup`: no-ops when emms already loaded, requires when absent. - `cj/music-playlist-clear`: stops playback, clears the playlist, nils the file ref. - `cj/music-add-directory-recursive`: calls `emms-add-directory-tree` for an existing dir, user-errors for non-dirs. - `cj/music--find-track-in-playlist`: returns the buffer position when present, nil when absent.