mirror of
https://github.com/golang/go
synced 2024-11-25 19:07:57 -07:00
text/template: variables do not take arguments
R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/5821044
This commit is contained in:
parent
b5021f3fe0
commit
d6ad6f0e61
@ -369,6 +369,7 @@ func (s *state) evalVariableNode(dot reflect.Value, v *parse.VariableNode, args
|
||||
// $x.Field has $x as the first ident, Field as the second. Eval the var, then the fields.
|
||||
value := s.varValue(v.Ident[0])
|
||||
if len(v.Ident) == 1 {
|
||||
s.notAFunction(args, final)
|
||||
return value
|
||||
}
|
||||
return s.evalFieldChain(dot, value, v.Ident[1:], args, final)
|
||||
|
@ -466,6 +466,10 @@ var execTests = []execTest{
|
||||
{"bug6b", "{{vfunc .V0 .V0}}", "vfunc", tVal, true},
|
||||
{"bug6c", "{{vfunc .V1 .V0}}", "vfunc", tVal, true},
|
||||
{"bug6d", "{{vfunc .V1 .V1}}", "vfunc", tVal, true},
|
||||
// Legal parse but illegal execution: non-function should have no arguments.
|
||||
{"bug7a", "{{3 2}}", "", tVal, false},
|
||||
{"bug7b", "{{$x := 1}}{{$x 2}}", "", tVal, false},
|
||||
{"bug7c", "{{$x := 1}}{{3 | $x}}", "", tVal, false},
|
||||
}
|
||||
|
||||
func zeroArgs() string {
|
||||
|
Loading…
Reference in New Issue
Block a user