aboutsummaryrefslogtreecommitdiff
path: root/src/text/template/parse/parse_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/text/template/parse/parse_test.go')
-rw-r--r--src/text/template/parse/parse_test.go22
1 files changed, 19 insertions, 3 deletions
diff --git a/src/text/template/parse/parse_test.go b/src/text/template/parse/parse_test.go
index 371de5d67c..86a100bb5f 100644
--- a/src/text/template/parse/parse_test.go
+++ b/src/text/template/parse/parse_test.go
@@ -554,7 +554,7 @@ func BenchmarkParseLarge(b *testing.B) {
}
}
-var sink string
+var sinkv, sinkl string
func BenchmarkVariableString(b *testing.B) {
v := &VariableNode{
@@ -563,9 +563,25 @@ func BenchmarkVariableString(b *testing.B) {
b.ResetTimer()
b.ReportAllocs()
for i := 0; i < b.N; i++ {
- sink = v.String()
+ sinkv = v.String()
}
- if sink == "" {
+ if sinkv == "" {
+ b.Fatal("Benchmark was not run")
+ }
+}
+
+func BenchmarkListString(b *testing.B) {
+ text := `{{ (printf .Field1.Field2.Field3).Value }}`
+ tree, err := New("bench").Parse(text, "", "", make(map[string]*Tree), builtins)
+ if err != nil {
+ b.Fatal(err)
+ }
+ b.ResetTimer()
+ b.ReportAllocs()
+ for i := 0; i < b.N; i++ {
+ sinkl = tree.Root.String()
+ }
+ if sinkl == "" {
b.Fatal("Benchmark was not run")
}
}