aboutsummaryrefslogtreecommitdiff
path: root/scripts/tests/install-lang.bats
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/tests/install-lang.bats')
-rw-r--r--scripts/tests/install-lang.bats16
1 files changed, 13 insertions, 3 deletions
diff --git a/scripts/tests/install-lang.bats b/scripts/tests/install-lang.bats
index 0fb83e3..ecfbe01 100644
--- a/scripts/tests/install-lang.bats
+++ b/scripts/tests/install-lang.bats
@@ -79,14 +79,24 @@ teardown() {
grep -qxF "coverage/" "$PROJECT/.gitignore"
}
-@test "install-lang go: coverage-only slice lands without a CLAUDE.md" {
+@test "install-lang go: full bundle lands (rules, hook, settings, githook, CLAUDE.md, coverage)" {
run bash "$INSTALL_LANG" go "$PROJECT"
[ "$status" -eq 0 ]
+ # Coverage slice
[ -f "$PROJECT/.claude/scripts/coverage-summary.go" ]
[ -f "$PROJECT/coverage-makefile.txt" ]
+ # Language + testing rules — these are the bundle's sync fingerprint
+ [ -f "$PROJECT/.claude/rules/go.md" ]
+ [ -f "$PROJECT/.claude/rules/go-testing.md" ]
+ # PostToolUse validate hook, executable and wired into settings
+ [ -x "$PROJECT/.claude/hooks/validate-go.sh" ]
+ grep -qF "validate-go.sh" "$PROJECT/.claude/settings.json"
+ # Pre-commit githook
+ [ -x "$PROJECT/githooks/pre-commit" ]
+ # CLAUDE.md seeded
+ [ -f "$PROJECT/CLAUDE.md" ]
+ # Gitignore footprint
grep -qxF ".claude/" "$PROJECT/.gitignore"
grep -qxF "cover.out" "$PROJECT/.gitignore"
- # The slice ships no rules of its own, so there is no Go CLAUDE.md to seed.
- [ ! -f "$PROJECT/CLAUDE.md" ]
}