From 6f575e64b1e9f5d9332db73b1e6427d500f90f48 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Thu, 11 Jun 2026 14:58:59 -0500 Subject: fix(scripts): lint-org resolves wrap-org-table from its own directory Consumers load lint-org with a bare -l and no load-path flag, so the new require of wrap-org-table failed everywhere outside make test's -L. lint-org now adds its own directory to load-path first. lint-org-cli.bats locks the bare-load contract for both scripts. --- .ai/scripts/tests/lint-org-cli.bats | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 .ai/scripts/tests/lint-org-cli.bats (limited to '.ai/scripts/tests') diff --git a/.ai/scripts/tests/lint-org-cli.bats b/.ai/scripts/tests/lint-org-cli.bats new file mode 100644 index 0000000..d457696 --- /dev/null +++ b/.ai/scripts/tests/lint-org-cli.bats @@ -0,0 +1,27 @@ +#!/usr/bin/env bats +# lint-org.el must load standalone via `emacs --batch -q -l ` with no +# -L flag — that's how wrap-it-up and the /lint-org command invoke it. The +# require of wrap-org-table broke that once: the dependency resolved under +# make test's -L .ai/scripts but not from a bare -l load. + +setup() { + SCRIPTS_DIR="$(cd "$(dirname "$BATS_TEST_FILENAME")/.." && pwd)" + TMPFILE="$(mktemp --suffix=.org)" + printf '* H\n\n| a |\n|---|\n| ok |\n|---|\n' > "$TMPFILE" +} + +teardown() { + rm -f "$TMPFILE" +} + +@test "lint-org.el loads and runs without -L on the load path" { + run emacs --batch -q -l "$SCRIPTS_DIR/lint-org.el" --check "$TMPFILE" + [ "$status" -eq 0 ] + [[ "$output" == *"lint-org: file="* ]] +} + +@test "wrap-org-table.el loads and runs without -L on the load path" { + run emacs --batch -q -l "$SCRIPTS_DIR/wrap-org-table.el" --width=120 "$TMPFILE" + [ "$status" -eq 0 ] + [[ "$output" == *"reformatted"* ]] +} -- cgit v1.2.3