<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotemacs/tests/test-elfeed-config-helpers.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-05-25T13:13:23+00:00</updated>
<entry>
<title>test(elfeed-config): use real structs so tests survive byte-compilation</title>
<updated>2026-05-25T13:13:23+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-25T13:13:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=c4a55619086d941052f9c59fc710796c90e5e8ba'/>
<id>urn:sha1:c4a55619086d941052f9c59fc710796c90e5e8ba</id>
<content type='text'>
The cj/elfeed-process-entries tests faked entries as bare symbols and stubbed the elfeed-entry-link accessor, which only works while elfeed-config loads as interpreted source. Byte-compiled, the cl-defstruct accessor inlines to an elfeed-entry-p check plus an aref, so the stub is bypassed and the inlined check rejects the fake entry. Three tests failed the moment a .elc existed.

I rewrote the five process-entries tests to build genuine elfeed-entry structs with elfeed-entry--create, calling package-initialize so the installed elfeed lands on the load-path, and guarded them with skip-unless for an environment that lacks the package. The elfeed-search UI boundary is still stubbed. The four extract-stream-url tests are unchanged.

This unblocks annotating elfeed-config with its load-graph header, which triggers the byte-compile that surfaced the problem.
</content>
</entry>
<entry>
<title>test(elfeed): cover extract-stream-url and process-entries helpers</title>
<updated>2026-05-24T20:03:39+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-24T20:03:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=35fa629759978cb123e4a1ccd6747a2d4cc9a17b'/>
<id>urn:sha1:35fa629759978cb123e4a1ccd6747a2d4cc9a17b</id>
<content type='text'>
elfeed-config had only the youtube-feed-format helper under test; cj/extract-stream-url and cj/elfeed-process-entries were untested despite having clear error/boundary paths. Added characterization + Normal/Boundary/Error coverage: extract-stream-url returns the trimmed URL on success, nil on non-URL output or nonzero exit, and signals when yt-dlp is absent; process-entries applies the action per selected entry and marks read, errors when nothing is selected, skips entries with no link, catches per-entry action errors by default, and propagates them under skip-error-handling. yt-dlp (call-process) and the elfeed-search API are stubbed at the boundary.
</content>
</entry>
</feed>
