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:
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
+}