|
|
Adds two per-function test files covering the easily-testable functions in system-utils.el. Takes the module from 0/52 (0%) to 10/52 (19.2%) coverage.
tests/test-system-utils-identify-external-open-command.el — five tests for cj/identify-external-open-command: one each for the three supported platforms (linux, macos, windows), one documenting the dispatch-order invariant when multiple predicates return t, and one for the unsupported-host error case. env-*-p predicates are stubbed via cl-letf so the tests run correctly on any host.
tests/test-system-utils-eval-buffer.el — three tests for cj/eval-buffer-with-confirmation-or-error-message: the valid-elisp success path, an empty-buffer boundary case, and the broken-elisp error path (confirming the condition-case wrapper catches errors rather than propagating). A small macro stubs message to capture what the user would see.
Split into two files per the project's per-function test convention (elisp-testing.md).
Not covered in this commit and flagged for follow-up:
- cj/open-file-with-command and cj/xdg-open mix user-input resolution with process launching. Per elisp-testing.md's "split interactive from internal" rule, a pure file-resolution helper should be extracted before tests are written.
- cj/server-shutdown kills Emacs, so it isn't meaningfully testable.
|