content_test.go (1547B)
1 package main 2 3 import ( 4 "io/ioutil" 5 "os" 6 "path/filepath" 7 "testing" 8 ) 9 10 func TestLoadContentDir(test *testing.T) { 11 test.Parallel() 12 13 var err error 14 tdir := filepath.Join(os.TempDir(), "pagr_test_TestLoadContentDir") 15 if err := os.MkdirAll(tdir, 0775); err != nil { 16 test.Errorf("failed to create temporary test dir: %s", tdir) 17 } 18 if err = createTestContents(tdir); err != nil { 19 test.Errorf("failed to create test content: %s", err) 20 } 21 22 var p []Page 23 if p, err = LoadContentDir(tdir); err != nil { 24 test.Fatalf("LoadContentDir failed: %s", err) 25 } 26 27 validateTestPages(test, p, err) 28 29 if err = os.RemoveAll(tdir); err != nil { 30 test.Error(err) 31 } 32 } 33 34 func TestNewContentFromFile(test *testing.T) { 35 test.Parallel() 36 37 var err error 38 contents := map[string]string{ 39 "txt": `test`, 40 "md": "**test**\ntest", 41 "html": `<b>test</b>`, 42 } 43 44 tdir := filepath.Join(os.TempDir(), "pagr_test", "TestNewContentFromFile") 45 if err := os.MkdirAll(tdir, 0775); err != nil { 46 test.Errorf("failed to create temporary test dir: %s", tdir) 47 } 48 contentsPath := func(ftype string) string { 49 return tdir + "/test." + ftype 50 } 51 52 for ftype, data := range contents { 53 if err = ioutil.WriteFile(contentsPath(ftype), []byte(data), 0666); err != nil { 54 test.Error("TestNewContentFromFile setup failed:", err) 55 } 56 } 57 58 var p Page 59 for ftype := range contents { 60 if err = p.NewContentFromFile(contentsPath(ftype)); err != nil { 61 test.Fatal("NewContentFromFile failed for", ftype, err) 62 } 63 } 64 65 if err = os.RemoveAll(tdir); err != nil { 66 test.Error(err) 67 } 68 }