<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gloss/tests/test-gloss-core--lookup.el, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://git.cjennings.net/gloss/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/gloss/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/gloss/'/>
<updated>2026-04-28T19:31:34+00:00</updated>
<entry>
<title>refactor: extract missing-glossary test helper</title>
<updated>2026-04-28T19:31:34+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-28T19:31:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/gloss/commit/?id=1e2da6b1a463492ada31ce473414289e761519ca'/>
<id>urn:sha1:1e2da6b1a463492ada31ce473414289e761519ca</id>
<content type='text'>
Four tests across lookup, list, find-buffer-position, and first-call-creates-file shared the same boilerplate. Each let-bound gloss-file to a randomized nonexistent path, wrapped in unwind-protect, reset the cache, and cleaned up file and buffer afterward.

Extracted as gloss-test--with-missing-glossary in testutil-gloss.el, parallel to the existing gloss-test--with-temp-glossary. The four call sites drop from 8-10 lines each to 2-3.

Tested by running the full 32-test suite. All 32 pass in 0.21 seconds.
</content>
</entry>
<entry>
<title>test: add gloss-core test suite (red phase)</title>
<updated>2026-04-28T19:21:18+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-28T19:21:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/gloss/commit/?id=4cd1e8e63d885d8de2728dc76d4f35f0eb597037'/>
<id>urn:sha1:4cd1e8e63d885d8de2728dc76d4f35f0eb597037</id>
<content type='text'>
The commit lands eight per-function test files and a shared testutil. 32 tests across Normal/Boundary/Error categories cover the public API (lookup, save, list, find-buffer-position) and the internals that need observable behavior tests (mtime invalidation, corrupt-file resilience, alphabetical insert, first-call file creation).

All 32 fail with void-function on the gloss-core symbols. That is the intended red-phase signal. The next commit lands the implementation that turns them green.

testutil-gloss provides a with-temp-glossary macro. It binds gloss-file to a temp file, resets the cache before and after, and cleans up the visiting buffer.
</content>
</entry>
</feed>
