diff --git a/xtfs_test.go b/xtfs_test.go index c89f7dc86ed62688f6617715b5f8a0f350aac817..5db2b7ebe721ab9d524bd10312700e698f68235c 100644 --- a/xtfs_test.go +++ b/xtfs_test.go @@ -8,66 +8,57 @@ "strings" "testing" ) -//go:embed _test/embed -var embedded embed.FS +var ( + //go:embed _test/embed + embedded embed.FS + xtfs *XTFS +) func TestMain(m *testing.M) { + var err error + xtfs, err = New("_test/disk", embedded, WithSub("_test/embed"), WithCaching(false)) + if err != nil { + panic(err) + } os.Exit(m.Run()) } -func TestXTFS(t *testing.T) { - tt := []struct { - Name string - File string - Expected string - }{ - { - Name: "Embed", - File: "test1.txt", - Expected: "test1", - }, - { - Name: "Disk", - File: "test2.txt", - Expected: "test3", - }, +func TestEmbed(t *testing.T) { + fi, err := xtfs.Open("test1.txt") + if err != nil { + t.Log(err) + t.FailNow() } + defer fi.Close() - x, err := New("_test/disk", embedded, WithSub("_test/embed"), WithCaching(false)) + test1, err := io.ReadAll(fi) if err != nil { t.Log(err) t.FailNow() } - for _, tc := range tt { - t.Run(tc.Name, func(t *testing.T) { - fi, err := x.Open(tc.File) - if err != nil { - t.Log(err) - t.FailNow() - } - defer fi.Close() - - contents, err := io.ReadAll(fi) - if err != nil { - t.Log(err) - t.FailNow() - } - - if !strings.EqualFold(string(contents), tc.Expected) { - t.Logf("xtfs did not match:\n\tgot: %s\n\texpected: %s\n", string(contents), tc.Expected) - t.FailNow() - } - }) + if !strings.EqualFold(string(test1), "test1") { + t.Log("embed did not match") + t.FailNow() } } -var emptyFS embed.FS +func TestDisk(t *testing.T) { + fi, err := xtfs.Open("test2.txt") + if err != nil { + t.Log(err) + t.FailNow() + } + defer fi.Close() -func TestInvalid(t *testing.T) { - _, err := New("/var/lib/myapp/assets/custom", emptyFS) + test2, err := io.ReadAll(fi) if err != nil { - t.Log("invalid XTFS should not error explicitly") + t.Log(err) + t.FailNow() + } + + if !strings.EqualFold(string(test2), "test3") { + t.Log("embed did not match") t.FailNow() } }