pagr

A 'static site generator', built using dati.
Log | Files | Refs | Atom

commit b4475aea9cd0e4bd607a25c43b85bd71520290ec
parent edbda75f2515581e80b2ae102704d87158ecbf7a
Author: gearsix <gearsix@tuta.io>
Date:   Fri, 18 Mar 2022 16:55:52 +0000

updated tests; regressed to go1.13 compatibility (pia)

Diffstat:
Mconfig_test.go | 9++++++++-
Mcontent_test.go | 30++++++++++++++++++++++++------
Mcopy_test.go | 14+++++++++++---
Mpage_test.go | 40++++++++++------------------------------
Mpagr_test.go | 24+++++++++++++-----------
Msitemap_test.go | 34+++++++++++++++++++++++++---------
Mtemplate_test.go | 14+++++++++++---
7 files changed, 102 insertions(+), 63 deletions(-)

diff --git a/config_test.go b/config_test.go @@ -12,7 +12,10 @@ import ( func TestNewConfigFromFile(test *testing.T) { test.Parallel() - tdir := test.TempDir() + tdir := filepath.Join(os.TempDir(), "pagr_test", "TestNewConfigFromFile") + if err := os.MkdirAll(tdir, 0775); err != nil { + test.Errorf("failed to create temporary test dir: %s", tdir) + } cfgp := fmt.Sprintf("%s/%s.toml", tdir, Name) if f, err := os.Create(cfgp); err != nil { @@ -42,4 +45,8 @@ func TestNewConfigFromFile(test *testing.T) { } else { test.Fatal(err) } + + if err := os.RemoveAll(tdir); err != nil { + test.Error(err) + } } diff --git a/content_test.go b/content_test.go @@ -2,22 +2,33 @@ package main import ( "os" + "path/filepath" + "io/ioutil" "testing" ) -func TestLoadContentsDir(test *testing.T) { +func TestLoadContentDir(test *testing.T) { + test.Parallel() + var err error - tdir := test.TempDir() + tdir := filepath.Join(os.TempDir(), "pagr_test_TestLoadContentDir") + if err := os.MkdirAll(tdir, 0775); err != nil { + test.Errorf("failed to create temporary test dir: %s", tdir) + } if err = createTestContents(tdir); err != nil { test.Errorf("failed to create test content: %s", err) } var p []Page - if p, err = LoadContentsDir(tdir); err != nil { - test.Fatalf("LoadContentsDir failed: %s", err) + if p, err = LoadContentDir(tdir); err != nil { + test.Fatalf("LoadContentDir failed: %s", err) } validateTestPages(test, p, err) + + if err = os.RemoveAll(tdir); err != nil { + test.Error(err) + } } func TestNewContentFromFile(test *testing.T) { @@ -32,13 +43,16 @@ func TestNewContentFromFile(test *testing.T) { "html": `<b>test</b>`, } - tdir := test.TempDir() + tdir := filepath.Join(os.TempDir(), "pagr_test", "TestNewContentFromFile") + if err := os.MkdirAll(tdir, 0775); err != nil { + test.Errorf("failed to create temporary test dir: %s", tdir) + } contentsPath := func(ftype string) string { return tdir + "/test." + ftype } for ftype, data := range contents { - if err = os.WriteFile(contentsPath(ftype), []byte(data), 0666); err != nil { + if err = ioutil.WriteFile(contentsPath(ftype), []byte(data), 0666); err != nil { test.Error("TestNewContentFromFile setup failed:", err) } } @@ -49,4 +63,8 @@ func TestNewContentFromFile(test *testing.T) { test.Fatal("NewContentFromFile failed for", ftype, err) } } + + if err = os.RemoveAll(tdir); err != nil { + test.Error(err) + } } diff --git a/copy_test.go b/copy_test.go @@ -2,6 +2,7 @@ package main import ( "os" + "io/ioutil" "path/filepath" "testing" ) @@ -9,12 +10,15 @@ import ( func TestCopyFile(test *testing.T) { test.Parallel() - tdir := test.TempDir() + tdir := filepath.Join(os.TempDir(), "pagr_test", "TestCopyFile") + if err := os.MkdirAll(tdir, 0775); err != nil { + test.Errorf("failed to create temporary test dir: %s", tdir) + } src := filepath.Join(tdir, "/src") srcData := []byte("data") dst := filepath.Join(tdir, "/dst") - if err := os.WriteFile(src, srcData, 0666); err != nil { + if err := ioutil.WriteFile(src, srcData, 0666); err != nil { test.Error("setup failed, could not write", tdir+"/src") } @@ -25,11 +29,15 @@ func TestCopyFile(test *testing.T) { test.Fatalf("could not stat '%s'", dst) } - if buf, err := os.ReadFile(dst); err != nil { + if buf, err := ioutil.ReadFile(dst); err != nil { test.Errorf("could not read '%s'", dst) } else if len(buf) < len(srcData) { test.Fatalf("not all srcData (%s) copied to '%s' (%s)", srcData, dst, buf) } else if string(buf) != string(srcData) { test.Fatalf("copied srcData (%s) does not match source (%s)", buf, srcData) } + + if err := os.RemoveAll(tdir); err != nil { + test.Error(err) + } } diff --git a/page_test.go b/page_test.go @@ -3,6 +3,7 @@ package main import ( "notabug.org/gearsix/suti" "os" + "io/ioutil" "path/filepath" "testing" "time" @@ -75,39 +76,14 @@ func TestTemplateName(test *testing.T) { } } -func TestCopyAssets(test *testing.T) { - test.Parallel() - - var p Page - src := []string{"1", "2", "3", "4"} - - srcDir := test.TempDir() - for _, fname := range src { - p.Assets = append(p.Assets, fname) - path := filepath.Join(srcDir, fname) - if f, err := os.Create(path); err != nil { - test.Fatalf("failed to create source file '%s'", path) - } else { - f.Close() - } - } - - dstDir := test.TempDir() - if err := p.CopyAssets(srcDir, dstDir); err != nil { - test.Fatal("CopyAssets failed", err) - } - for _, fname := range src { - if _, err := os.Stat(dstDir + "/" + fname); err != nil { - test.Fatal("missing file", dstDir+"/"+fname) - } - } -} - func TestBuild(test *testing.T) { test.Parallel() var err error - tdir := test.TempDir() + tdir := filepath.Join(os.TempDir(), "pagr_test", "TestBuild") + if err := os.MkdirAll(tdir, 0775); err != nil { + test.Errorf("failed to create temporary test dir: %s", tdir) + } p := NewPage("/test", time.Now()) t, err := suti.LoadTemplateString("tmpl", "test", `{{.Meta.Title}} {{template "p" .}}`, map[string]string{"p": "p"}) if err != nil { @@ -119,10 +95,14 @@ func TestBuild(test *testing.T) { test.Fatal(err) } var fbuf []byte - if fbuf, err = os.ReadFile(fpath); err != nil { + if fbuf, err = ioutil.ReadFile(fpath); err != nil { test.Fatal(err) } if string(fbuf) != "Test p" { test.Fatalf("invalid result parsed: '%s', expected: 'Test p'", string(fbuf)) } + + if err := os.RemoveAll(tdir); err != nil { + test.Error(err) + } } diff --git a/pagr_test.go b/pagr_test.go @@ -3,6 +3,7 @@ package main import ( "fmt" "os" + "io/ioutil" "path/filepath" "testing" "time" @@ -17,20 +18,18 @@ var templates = map[string]string{ // [ext]template func createTestTemplates(dir string) (err error) { writef := func(path, data string) { if err == nil { - err = os.WriteFile(path, []byte(data), 0644) + err = ioutil.WriteFile(path, []byte(data), 0644) } } for ext, data := range templates { - writef(fmt.Sprintf("%s/root.%s", dir, ext), data) - writef(fmt.Sprintf("%s/root.ignore.%s", dir, ext), data) - writef(fmt.Sprintf("%s/root.%s.ignore", dir, ext), data) + writef(filepath.Join(dir, fmt.Sprintf("root.%s", ext)), data) + writef(filepath.Join(dir, fmt.Sprintf("root.ignore.%s", ext)), data) + writef(filepath.Join(dir, fmt.Sprintf("root.%s.ignore", ext)), data) - pdir := filepath.Join(dir, ext) - err = os.Mkdir(pdir, 0755) - writef(fmt.Sprintf("%s/partial.%s", pdir, ext), data) - writef(fmt.Sprintf("%s/partial.ignore.%s", pdir, ext), data) - writef(fmt.Sprintf("%s/partial.%s.ignore", pdir, ext), data) + writef(filepath.Join(dir, fmt.Sprintf("partial.%s", ext)), data) + writef(filepath.Join(dir, fmt.Sprintf("partial.ignore.%s", ext)), data) + writef(filepath.Join(dir, fmt.Sprintf("partial.%s.ignore", ext)), data) if err != nil { break @@ -106,7 +105,7 @@ var asset = []byte{ // 5x5 black png image func createTestContents(dir string) (err error) { writef := func(path, data string) { if err == nil { - err = os.WriteFile(path, []byte(data), 0644) + err = ioutil.WriteFile(path, []byte(data), 0644) } } @@ -114,7 +113,10 @@ func createTestContents(dir string) (err error) { if l == 0 { writef(fmt.Sprintf("%s/defaults.json", dir), "{ \"default\": \"data\" }") } else if l > 1 { - dir, err = os.MkdirTemp(dir, "page") + dir = filepath.Join(dir, lang) + if err := os.MkdirAll(dir, 0775); err != nil { + fmt.Errorf("failed to create temporary test dir '%s': %s", dir, err) + } } writef(fmt.Sprintf("%s/.page.toml", dir), "page = \"data\"") writef(fmt.Sprintf("%s/body%d%s", dir, l, lang), contents[lang]) diff --git a/sitemap_test.go b/sitemap_test.go @@ -1,39 +1,55 @@ package main import ( + "os" "testing" + "path/filepath" ) func TestBuildCrumbs(test *testing.T) { var err error - tdir := test.TempDir() + tdir := filepath.Join(os.TempDir(), "pagr_test", "TestBuildCrumbs") + if err := os.MkdirAll(tdir, 0775); err != nil { + test.Errorf("failed to create temporary test dir: %s", tdir) + } if err = createTestContents(tdir); err != nil { test.Errorf("failed to create test content: %s", err) } - // TODO fix laziness below, just dups TestLoadContentsDir + // TODO fix laziness below, just dups TestLoadContentDir var p []Page - if p, err = LoadContentsDir(tdir); err != nil { - test.Errorf("LoadContentsDir failed: %s", err) + if p, err = LoadContentDir(tdir); err != nil { + test.Errorf("LoadContentDir failed: %s", err) } validateTestPagesNav(test, p) + + if err = os.RemoveAll(tdir); err != nil { + test.Error(err) + } } func TestBuildSitemap(test *testing.T) { var err error - tdir := test.TempDir() + tdir := filepath.Join(os.TempDir(), "pagr_test", "TestBuildSitemap") + if err := os.MkdirAll(tdir, 0775); err != nil { + test.Errorf("failed to create temporary test dir: %s", tdir) + } if err = createTestContents(tdir); err != nil { test.Errorf("failed to create test content: %s", err) } - // TODO fix laziness below, just dups TestLoadContentsDir + // TODO fix laziness below, just dups TestLoadContentDir var p []Page - if p, err = LoadContentsDir(tdir); err != nil { - test.Errorf("LoadContentsDir failed: %s", err) - } + if p, err = LoadContentDir(tdir); err != nil { + test.Errorf("LoadContentDir failed: %s", err) + } validateTestPagesNav(test, p) + + if err = os.RemoveAll(tdir); err != nil { + test.Error(err) + } } diff --git a/template_test.go b/template_test.go @@ -1,16 +1,20 @@ package main import ( + "os" "testing" + "path/filepath" ) func TestLoadTemplateDir(t *testing.T) { t.Parallel() - tdir := t.TempDir() + tdir := filepath.Join(os.TempDir(), "pagr_test", "TestLoadTemplateDir") + if err := os.MkdirAll(tdir, 0775); err != nil { + t.Errorf("failed to create temporary test dir: %s", tdir) + } - var err error - if err = createTestTemplates(tdir); err != nil { + if err := createTestTemplates(tdir); err != nil { t.Errorf("failed to create test templates: %s", err) } @@ -22,4 +26,8 @@ func TestLoadTemplateDir(t *testing.T) { t.Fatalf("number of returned templates is %d (should be %d)", len(tmpls), len(templates)) } + + if err = os.RemoveAll(tdir); err != nil { + t.Error(err) + } }