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