<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotemacs/tests/test-music-config--get-m3u-basenames.el, branch main</title>
<subtitle>My Emacs configuration
</subtitle>
<id>https://git.cjennings.net/dotemacs/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/dotemacs/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/'/>
<updated>2026-07-06T14:44:10+00:00</updated>
<entry>
<title>feat(music): source M3U playlists from multiple directories</title>
<updated>2026-07-06T14:44:10+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-06T14:44:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=348b1d62d40ab42697522552ba1e0cd98f007a5d'/>
<id>urn:sha1:348b1d62d40ab42697522552ba1e0cd98f007a5d</id>
<content type='text'>
The MPD radio-stream playlists moved into version control at ~/.local/share/mpd/playlists/, while the 24 local-library playlists stay at ~/music/. MPD has a single playlist_directory and its load only sees that one, so the union has to happen at the Emacs layer.

I added cj/music-m3u-roots, a precedence-ordered list of directories the reading path unions (get-m3u-files, basenames, select, load). Missing directories are skipped. On a basename collision the earlier root wins, so a local playlist shadows a same-named radio one. Saving and radio-station creation still target the single cj/music-m3u-root. Radio .m3u hold stream URLs, which the track reader and the mpv subprocess already handle, so nothing else changed to play them.

The two tests that pinned the old single-directory contract now bind the list. Their "missing directory signals an error" cases became "missing directory is skipped" to match the new behavior.
</content>
</entry>
<entry>
<title>Revert "checking in modified/removed tests and other misc changes"</title>
<updated>2025-11-14T08:35:00+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-14T08:35:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=cdc39acfe00d015c246ae9e33532ffc869dd08ce'/>
<id>urn:sha1:cdc39acfe00d015c246ae9e33532ffc869dd08ce</id>
<content type='text'>
This reverts commit d36afc3f277b9a4228eb7b2464ec4e503695b8d4.
</content>
</entry>
<entry>
<title>checking in modified/removed tests and other misc changes</title>
<updated>2025-11-14T08:31:16+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-14T08:31:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=d36afc3f277b9a4228eb7b2464ec4e503695b8d4'/>
<id>urn:sha1:d36afc3f277b9a4228eb7b2464ec4e503695b8d4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>test: Add unit tests for music config and org-contacts functions</title>
<updated>2025-11-03T22:15:24+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-03T22:15:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=88250b6d76c07cf9db486cff213e61c6a187f70c'/>
<id>urn:sha1:88250b6d76c07cf9db486cff213e61c6a187f70c</id>
<content type='text'>
Add comprehensive unit tests for various Emacs Lisp functions,
covering M3U file handling, music file validation, and contact
capture template finalization:

- Tests for appending tracks to M3U files Tests for recursive music
- collection Tests for completion table creation Tests for
- extracting M3U basenames and files Tests for M3U file parsing
- Tests for filename sanitization Tests for directory and file
- validity checks Tests for org-contacts capture template
- finalization

Each test validates normal, boundary, and error conditions. These
tests improve code reliability by verifying expected behavior across
a range of scenarios.
</content>
</entry>
</feed>
