From eb015e6e912724c79946f2095a3a604a7e0a2334 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Mon, 25 May 2026 17:06:50 -0500 Subject: docs(todo): log font-config smoke coverage; route popper smoke test to its decision task --- todo.org | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) (limited to 'todo.org') diff --git a/todo.org b/todo.org index fe88a32a..c026dd8d 100644 --- a/todo.org +++ b/todo.org @@ -1527,10 +1527,22 @@ Completion review 2026-05-15: - Existing cleanup below covers the disabled =popper-config.el= load-graph issue; added a separate test-gap task for the remaining UI smoke coverage. -**** TODO [#B] Add UI/navigation runtime smoke coverage :tests:solo: - -Several UI modules are mostly top-level runtime configuration and currently -have only partial helper coverage. The highest-value missing assertions are: +**** 2026-05-25 Mon @ 17:05:00 -0500 Added UI/navigation runtime smoke coverage + +Added =tests/test-font-config.el= (4 tests): cj/font-installed-p returns t/nil +off find-font, and cj/apply-font-settings-to-frame is a no-op on a non-GUI +frame and applies the preset exactly once per frame (idempotent). find-font, +env-gui-p, and fontaine-set-preset are stubbed so the run stays headless, and +a skip-unless on the demanded packages keeps a bare checkout green. +font-config had zero direct coverage; this fills the gap the task named. + +modeline-config was already well covered (string-cut-middle, string-truncate-p, +vc-cache, vc-cache-key, the flycheck segment, the recording indicator), so it +needed no net-new smoke tests. popper-config's no-op smoke test is gated on the +"Decide whether popper-config.el should exist while disabled" task and was +deferred there, since whether to write it depends on that keep/remove call. + +Original scope: - =font-config.el=: font fallback/daemon frame setup does not error when optional fonts or emoji packages are absent. - =modeline-config.el=: runtime segment assembly handles missing VC/project @@ -1538,9 +1550,6 @@ have only partial helper coverage. The highest-value missing assertions are: - =popper-config.el=: if the module remains in =init.el= while disabled, a smoke test should prove requiring it is an intentional no-op. -Keep these tests batch-safe by stubbing frame/font/package functions rather -than depending on a graphical session. - **** TODO [#B] Decide whether =popper-config.el= should exist while disabled :cleanup: =popper-config.el= is required by =init.el=, but the only =use-package popper= @@ -1550,7 +1559,10 @@ in the load graph. Expected outcome: - Either remove it from =init.el= until Popper is wanted, or re-enable and test the popup behavior. -- If kept disabled, add a clear task/comment explaining why it remains. +- If kept disabled, add a clear task/comment explaining why it remains, plus a + smoke test proving =(require 'popper-config)= is an intentional no-op (the + UI/navigation smoke-coverage task deferred this here since it hinges on this + decision). This is low priority, but it is a good example of load graph noise to clean up during the =init.el= deferral work. -- cgit v1.2.3