summaryrefslogtreecommitdiff
path: root/tests/test-prog-shell--format-wiring.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-04-30 10:30:32 -0500
committerCraig Jennings <c@cjennings.net>2026-04-30 10:30:32 -0500
commite2f373ff05116d4b2ed48d4ddcaea8c47846f105 (patch)
tree280ab96bc63af06b69edbb38713983a130637db9 /tests/test-prog-shell--format-wiring.el
parentbb936fc082d4feb6a8759399ae07c840ea386b68 (diff)
downloaddotemacs-e2f373ff05116d4b2ed48d4ddcaea8c47846f105.tar.gz
dotemacs-e2f373ff05116d4b2ed48d4ddcaea8c47846f105.zip
test(prog): drop ignore-errors on prog-module require, add featurep check
Two small tightening passes on the formatter wiring tests just shipped. Drops `(ignore-errors ...)` from each test file's `(require 'prog-PKG)' call. Soft use-package warnings (e.g. lsp-pyright not being installed) still emit messages without aborting the load. A hard load failure (syntax error, missing required dep) would now surface as a test error rather than being silently swallowed. Adds a `(should (featurep PKG))' assertion per language so the test output makes "package loaded" visible alongside the fboundp and binding checks. For webdev the assertion is `(featurep 'prog-webdev)' since the formatter command is defined directly in prog-webdev.el (it shells out to the prettier CLI, no separate package to load). 17 tests total now (up from 13), all passing.
Diffstat (limited to 'tests/test-prog-shell--format-wiring.el')
-rw-r--r--tests/test-prog-shell--format-wiring.el9
1 files changed, 8 insertions, 1 deletions
diff --git a/tests/test-prog-shell--format-wiring.el b/tests/test-prog-shell--format-wiring.el
index 4a014943..604a1f26 100644
--- a/tests/test-prog-shell--format-wiring.el
+++ b/tests/test-prog-shell--format-wiring.el
@@ -25,10 +25,17 @@
;; the map into existence by referencing the mode definition. When
;; tree-sitter isn't built in, bash-ts-mode is still defined as a
;; symbol via define-derived-mode, and its keymap exists.
-(ignore-errors (require 'prog-shell))
+(require 'prog-shell)
(when (executable-find "shfmt")
(require 'shfmt))
+(ert-deftest test-prog-shell-format-package-loaded ()
+ "Normal: `shfmt' is in `features' when the executable is on PATH.
+Skipped when shfmt isn't installed because the use-package gates on
+`:if (executable-find shfmt-path)' and never loads the package."
+ (format-test--skip-unless-executable "shfmt")
+ (should (featurep 'shfmt)))
+
(ert-deftest test-prog-shell-format-command-fboundp ()
"Normal: `shfmt-buffer' is fboundp after shfmt loads.
Skipped when shfmt isn't installed because the use-package gates on