@@ -19,6 +19,9 @@ func (h *MockDB) Macros() (macros Macros) {
19
19
"foo" : func (query * Query , args []string ) (out string , err error ) {
20
20
return "bar" , nil
21
21
},
22
+ "fooBaz" : func (query * Query , args []string ) (out string , err error ) {
23
+ return "qux" , nil
24
+ },
22
25
"params" : func (query * Query , args []string ) (out string , err error ) {
23
26
if args [0 ] != "" {
24
27
return "bar_" + args [0 ], nil
@@ -47,6 +50,7 @@ func TestInterpolate(t *testing.T) {
47
50
tests := []test {
48
51
{input : "select * from foo" , output : "select * from foo" , name : "macro with incorrect syntax" },
49
52
{input : "select * from $__foo()" , output : "select * from bar" , name : "correct macro" },
53
+ {input : "select * from $__fooBaz()" , output : "select * from qux" , name : "this macro name's substring is another macro" },
50
54
{input : "select '$__foo()' from $__foo()" , output : "select 'bar' from bar" , name : "multiple instances of same macro" },
51
55
{input : "select * from $__foo()$__foo()" , output : "select * from barbar" , name : "multiple instances of same macro without space" },
52
56
{input : "select * from $__foo" , output : "select * from bar" , name : "macro without paranthesis" },
0 commit comments