diff options
Diffstat (limited to 'src/text/template/multi_test.go')
-rw-r--r-- | src/text/template/multi_test.go | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/text/template/multi_test.go b/src/text/template/multi_test.go index 34d2378e38..b543ab5c47 100644 --- a/src/text/template/multi_test.go +++ b/src/text/template/multi_test.go @@ -9,6 +9,7 @@ package template import ( "bytes" "fmt" + "os" "testing" "text/template/parse" ) @@ -153,6 +154,35 @@ func TestParseGlob(t *testing.T) { testExecute(multiExecTests, template, t) } +func TestParseFS(t *testing.T) { + fs := os.DirFS("testdata") + + { + _, err := ParseFS(fs, "DOES NOT EXIST") + if err == nil { + t.Error("expected error for non-existent file; got none") + } + } + + { + template := New("root") + _, err := template.ParseFS(fs, "file1.tmpl", "file2.tmpl") + if err != nil { + t.Fatalf("error parsing files: %v", err) + } + testExecute(multiExecTests, template, t) + } + + { + template := New("root") + _, err := template.ParseFS(fs, "file*.tmpl") + if err != nil { + t.Fatalf("error parsing files: %v", err) + } + testExecute(multiExecTests, template, t) + } +} + // In these tests, actual content (not just template definitions) comes from the parsed files. var templateFileExecTests = []execTest{ |