<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotemacs/tests/test-prog-python-setup.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-14T06:07:49+00:00</updated>
<entry>
<title>test(prog-python+webdev): cover the per-buffer setup mode hooks</title>
<updated>2026-05-14T06:07:49+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-14T06:07:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=a097e33cbc2027b416f6d4160b55f69bca8c4660'/>
<id>urn:sha1:a097e33cbc2027b416f6d4160b55f69bca8c4660</id>
<content type='text'>
`cj/python-setup` and `cj/webdev-setup` are the per-buffer preference functions wired into `python-ts-mode` / `typescript-ts-mode` / `tsx-ts-mode` / `js-ts-mode`. Sibling tests covered the command builders and prettier/mypy wrappers but not these. 9 new tests across two files cover, for each setup:

- the setq-local pairs (fill-column, tab-width, standard-indent, indent-tabs-mode) land at the language's defaults (Python: 80/4/4/nil; webdev: 100/2/2/nil),
- the mode helpers (company, flyspell-prog, superword, electric-pair-local) all get called,
- LSP gating: starts when the language server binary is on PATH, skips otherwise.

Plus a check that `cj/webdev-keybindings` binds `C-; f` to the prettier wrapper.

External modes and `executable-find` / `lsp-deferred` are stubbed so the tests run without a Python or Node toolchain.
</content>
</entry>
</feed>
