#!/usr/bin/env bats # tests/lint.bats — lib/lint.sh validators and the scoped-lint wrapper. load helpers setup() { source "$LIB_DIR/output.sh" source "$LIB_DIR/lint.sh" } write_page() { # write_page cat > "$1" <800-line page errors" { G="$(make_fixture_genome)" { write_page "$G/wiki/sources/big.md" source genome-test; yes "x" | head -n 850 >> "$G/wiki/sources/big.md"; } run check_page_size "$G/wiki/sources/big.md" [ "$status" -ne 0 ] } @test "scoped-lint: aggregates findings and exits non-zero on errors" { G="$(make_fixture_genome)" write_page "$G/wiki/sources/bad.md" banana wrong-genome cd "$G" export KG_LIB_DIR="$LIB_DIR" run bash "$SKILL_SCRIPTS/scoped-lint.sh" genome-test wiki/sources/bad.md [ "$status" -ne 0 ] [[ "$output" == *"error(s)"* ]] } @test "scoped-lint: a clean page passes (exit 0)" { G="$(make_fixture_genome)" write_page "$G/wiki/sources/good.md" source genome-test cd "$G" export KG_LIB_DIR="$LIB_DIR" run bash "$SKILL_SCRIPTS/scoped-lint.sh" genome-test wiki/sources/good.md [ "$status" -eq 0 ] }