pagr

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

commit d3e874a20b9bc16bbae7f198ae87f8acbc6a5a6d
parent 4950e814fbd8d914ad707774920d218ab802e4da
Author: gearsix <gearsix@tuta.io>
Date:   Fri,  2 Jul 2021 19:54:32 +0100

added template_test; suti needs more work for better validation

Diffstat:
Mcontent_test.go | 1-
Atemplate_test.go | 56++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 56 insertions(+), 1 deletion(-)

diff --git a/content_test.go b/content_test.go @@ -108,7 +108,6 @@ func createProjectContents(dir string) (err error) { } } - var path, data string for l, lang := range SupportedContent { if l == 0 { writef(fmt.Sprintf("%s/.defaults.json", dir), "{ \"test\": \"data\" }") diff --git a/template_test.go b/template_test.go @@ -0,0 +1,56 @@ +package main + +import ( + "fmt" + "path/filepath" + "os" + "testing" +) + +func TestLoadTemplateDir(t *testing.T) { + t.Parallel() + + tdir := t.TempDir() + + var err error + if err = createProjectTemplates(tdir); err != nil { + t.Errorf("failed to create test templates: %s", err) + } + + tmpls, err := LoadTemplateDir(tdir) + if err != nil { + t.Fatal(err) + } + if len(tmpls) != len(templates) * 2 { // *2 = partial + t.Fatalf("number of returned templates is %d (should be %d)", + len(tmpls), len(templates)) + } +} + +var templates = map[string]string{ // [ext]template + "tmpl": "{{.Contents}}", + "mst": "{{Contents}}", +} + +func createProjectTemplates(dir string) error { + var err error + writef := func(path, data string) { + if err == nil { + err = os.WriteFile(path, []byte(data), 0644) + } + } + + for ext, data := range templates { + writef(fmt.Sprintf("%s/%s.%s", dir, ext, ext), data) + + pdir := filepath.Join(dir, ext) + err = os.Mkdir(pdir, 0755) + writef(fmt.Sprintf("%s/partial.%s", pdir, ext), data) + + if err != nil { + break + } + } + + return err +}