<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotemacs/tests/test-prog-c-mode-keybindings.el, branch load-graph-classify-start</title>
<subtitle>My Emacs configuration
</subtitle>
<id>https://git.cjennings.net/dotemacs/atom?h=load-graph-classify-start</id>
<link rel='self' href='https://git.cjennings.net/dotemacs/atom?h=load-graph-classify-start'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/'/>
<updated>2026-05-04T01:08:35+00:00</updated>
<entry>
<title>test: cover C mode hooks and project compile branches</title>
<updated>2026-05-04T01:08:35+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-04T01:08:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=f619cbf9f384dfd6976e3bed448b3473146841e1'/>
<id>urn:sha1:f619cbf9f384dfd6976e3bed448b3473146841e1</id>
<content type='text'>
I added 7 new tests across 3 files, filling coverage gaps in `prog-c.el`. Two functions were untested (`cj/c-mode-settings`, `cj/c-mode-keybindings`) and `cj/c-compile-command` only had its single-file fallback covered.

`cj/c-compile-command` now has the Makefile and CMake branches tested, plus a Boundary case for a Makefile path with spaces being shell-quoted in the `cd` target. I added these to the existing `test-prog-c-compile-command.el` since the helper and dispatcher already lived there.

`cj/c-mode-settings` gets three tests. One covers the buffer-local invariants (`indent-tabs-mode` nil, `c-basic-offset` 4, `tab-width` 4, `fill-column` 80, `comment-auto-fill-only-comments` t). The other two cover the LSP branch: `lsp-deferred` runs when the function is fbound and `executable-find` returns a clangd path, and skips when clangd is missing.

`cj/c-mode-keybindings` gets one test asserting S-F5 binds to `cj/disabled` and S-F6 binds to `gdb` in the buffer's local keymap. No realistic Boundary or Error cases for installing two static bindings, so the single Normal case carries it.

I stubbed `auto-fill-mode`, `electric-pair-mode`, `lsp-deferred`, `executable-find`, and `locate-dominating-file` at the boundaries via `cl-letf`. Buffer-local state was exercised real in `with-temp-buffer`.

12 prog-c tests pass together: 5 existing plus 7 new.
</content>
</entry>
</feed>
