aboutsummaryrefslogtreecommitdiff
path: root/src/text/template/multi_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/text/template/multi_test.go')
-rw-r--r--src/text/template/multi_test.go30
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{