diff options
Diffstat (limited to 'src/text/template/example_test.go')
| -rw-r--r-- | src/text/template/example_test.go | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/text/template/example_test.go b/src/text/template/example_test.go index cae8ff48d7..58341c1092 100644 --- a/src/text/template/example_test.go +++ b/src/text/template/example_test.go @@ -7,6 +7,7 @@ package template_test import ( "log" "os" + "strings" "text/template" ) @@ -72,3 +73,38 @@ Josie // Best wishes, // Josie } + +// The following example is duplicated in html/template; keep them in sync. + +func ExampleBlock() { + const ( + master = `Names:{{block "list" .}}{{"\n"}}{{range .}}{{println "-" .}}{{end}}{{end}}` + overlay = `{{define "list"}} {{join . ", "}}{{end}} ` + ) + var ( + funcs = template.FuncMap{"join": strings.Join} + guardians = []string{"Gamora", "Groot", "Nebula", "Rocket", "Star-Lord"} + ) + masterTmpl, err := template.New("master").Funcs(funcs).Parse(master) + if err != nil { + log.Fatal(err) + } + overlayTmpl, err := template.Must(masterTmpl.Clone()).Parse(overlay) + if err != nil { + log.Fatal(err) + } + if err := masterTmpl.Execute(os.Stdout, guardians); err != nil { + log.Fatal(err) + } + if err := overlayTmpl.Execute(os.Stdout, guardians); err != nil { + log.Fatal(err) + } + // Output: + // Names: + // - Gamora + // - Groot + // - Nebula + // - Rocket + // - Star-Lord + // Names: Gamora, Groot, Nebula, Rocket, Star-Lord +} |
