From 0bea6e4a14355f8cb9966a2af24e6284bb8aa3c8 Mon Sep 17 00:00:00 2001 From: Nick Landolfi Date: Fri, 27 Jun 2025 11:40:58 -0700 Subject: [PATCH] test: run golden cases as subtests --- golden_test.go | 60 +++++++++++++++++++++++++++----------------------- 1 file changed, 32 insertions(+), 28 deletions(-) diff --git a/golden_test.go b/golden_test.go index bf9b66e..4106f61 100644 --- a/golden_test.go +++ b/golden_test.go @@ -38,46 +38,50 @@ func TestGolden(t *testing.T) { } for _, c := range cases { - bs, err := os.ReadFile(c.file) - if err != nil { - t.Fatal(err) - } - t.Logf(c.file) - - n, err := lit.ParseLit(string(bs)) - if err != nil { - t.Fatal(err) - } - - var b bytes.Buffer + c := c + t.Run(c.file, func(t *testing.T) { + bs, err := os.ReadFile(c.file) + if err != nil { + t.Fatal(err) + } + t.Logf(c.file) - lit.WriteLit(&b, n, &lit.WriteOpts{Prefix: "", Indent: " "}) + n, err := lit.ParseLit(string(bs)) + if err != nil { + t.Fatal(err) + } - s := b.String() + var b bytes.Buffer - bs, err = os.ReadFile(c.golden) - if err != nil { - t.Fatal(err) - } + lit.WriteLit(&b, n, &lit.WriteOpts{Prefix: "", Indent: " "}) - if want, got := string(bs), s; got != want { - t.Fatalf("%q doesn't match golden\n diff the result of lit on %q \nagainst %q", c.file, c.file, c.golden) - } + s := b.String() - if c.goldenHTML != "" { - bs, err := os.ReadFile(c.goldenHTML) + bs, err = os.ReadFile(c.golden) if err != nil { t.Fatal(err) } - var b bytes.Buffer - lit.WriteHTMLInBody(&b, n, &lit.WriteOpts{Prefix: "", Indent: " "}) + if want, got := string(bs), s; got != want { + t.Fatalf("%q doesn't match golden\n diff the result of lit on %q \nagainst %q", c.file, c.file, c.golden) + } + + if c.goldenHTML != "" { + bs, err := os.ReadFile(c.goldenHTML) + if err != nil { + t.Fatal(err) + } + + var b bytes.Buffer + lit.WriteHTMLInBody(&b, n, &lit.WriteOpts{Prefix: "", Indent: " "}) + + if want, got := string(bs), b.String(); got != want { + t.Fatalf("%q doesn't match goldenHTML\n diff the result of lit on %q \nagainst %q", c.file, c.file, c.goldenHTML) + } - if want, got := string(bs), b.String(); got != want { - t.Fatalf("%q doesn't match goldenHTML\n diff the result of lit on %q \nagainst %q", c.file, c.file, c.goldenHTML) } - } + }) } }