package checks import ( "reflect" "testing" "testing/fstest" ) func TestMarkdownFilesSkipsToolFolders(t *testing.T) { fsys := fstest.MapFS{ "a.md": {Data: []byte("x")}, "b/c.md": {Data: []byte("x")}, "b/c.txt": {Data: []byte("x")}, ".git/d.md": {Data: []byte("x")}, ".claude/e.md": {Data: []byte("x")}, ".work/f/g.md": {Data: []byte("x")}, } got := markdownFiles(fsys) want := []string{"a.md", "b/c.md"} if !reflect.DeepEqual(got, want) { t.Fatalf("markdownFiles = %q, want %q", got, want) } } func TestFrontmatterReadsScalarsAndLists(t *testing.T) { f := frontmatter("---\nlayer: to-be\ndecisions:\n - ADR 0001\n - ADR 0002\ncode: []\ncodes: [a, b]\n---\nbody\n") if f.scalar("layer") != "to-be" { t.Errorf("layer = %q", f.scalar("layer")) } if !reflect.DeepEqual(f.list("decisions"), []string{"ADR 0001", "ADR 0002"}) { t.Errorf("decisions = %q", f.list("decisions")) } if len(f.list("code")) != 0 || !reflect.DeepEqual(f.list("codes"), []string{"a", "b"}) { t.Errorf("code = %q, codes = %q", f.list("code"), f.list("codes")) } if frontmatter("no frontmatter") != nil || frontmatter("---\nunclosed") != nil { t.Error("a document without a closed block has no frontmatter") } }