diff options
Diffstat (limited to 'src/text/template/parse/parse_test.go')
| -rw-r--r-- | src/text/template/parse/parse_test.go | 22 | 
1 files changed, 20 insertions, 2 deletions
diff --git a/src/text/template/parse/parse_test.go b/src/text/template/parse/parse_test.go index 86a100bb5f..4e09a7852c 100644 --- a/src/text/template/parse/parse_test.go +++ b/src/text/template/parse/parse_test.go @@ -304,7 +304,8 @@ var parseTests = []parseTest{  }  var builtins = map[string]interface{}{ -	"printf": fmt.Sprintf, +	"printf":   fmt.Sprintf, +	"contains": strings.Contains,  }  func testParse(doCopy bool, t *testing.T) { @@ -571,7 +572,24 @@ func BenchmarkVariableString(b *testing.B) {  }  func BenchmarkListString(b *testing.B) { -	text := `{{ (printf .Field1.Field2.Field3).Value }}` +	text := ` +{{(printf .Field1.Field2.Field3).Value}} +{{$x := (printf .Field1.Field2.Field3).Value}} +{{$y := (printf $x.Field1.Field2.Field3).Value}} +{{$z := $y.Field1.Field2.Field3}} +{{if contains $y $z}} +	{{printf "%q" $y}} +{{else}} +	{{printf "%q" $x}} +{{end}} +{{with $z.Field1 | contains "boring"}} +	{{printf "%q" . | printf "%s"}} +{{else}} +	{{printf "%d %d %d" 11 11 11}} +	{{printf "%d %d %s" 22 22 $x.Field1.Field2.Field3 | printf "%s"}} +	{{printf "%v" (contains $z.Field1.Field2 $y)}} +{{end}} +`  	tree, err := New("bench").Parse(text, "", "", make(map[string]*Tree), builtins)  	if err != nil {  		b.Fatal(err)  | 
