| package template | |
| import ( | |
| "bytes" | |
| "testing" | |
| ) | |
| func TestTemplateClone(t *testing.T) { | |
| // https://golang.org/issue/12996 | |
| orig := New("name") | |
| clone, err := orig.Clone() | |
| if err != nil { | |
| t.Fatal(err) | |
| } | |
| if len(clone.Templates()) != len(orig.Templates()) { | |
| t.Fatalf("Invalid length of t.Clone().Templates()") | |
| } | |
| const want = "stuff" | |
| parsed := Must(clone.Parse(want)) | |
| var buf bytes.Buffer | |
| err = parsed.Execute(&buf, nil) | |
| if err != nil { | |
| t.Fatal(err) | |
| } | |
| if got := buf.String(); got != want { | |
| t.Fatalf("got %q; want %q", got, want) | |
| } | |
| } |