MCPcopy Index your code
hub / github.com/sql-machine-learning/sqlflow / TestFuncall

Function TestFuncall

go/parser/ast/expr_test.go:185–233  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

183}
184
185func TestFuncall(t *testing.T) {
186 v, e := NewFuncall('[', "[", ExprList{}) // any symbol can name function
187 assert.NotNil(t, v)
188 assert.NoError(t, e)
189
190 assert.False(t, v.IsLiteral())
191 assert.True(t, v.IsFuncall())
192 assert.False(t, v.IsBinary())
193 assert.False(t, v.IsUnary())
194 assert.False(t, v.IsVariadic())
195
196 assert.Equal(t, "[()", v.String())
197
198 v, e = NewFuncall('[', "[", nil)
199 assert.NotNil(t, v)
200 assert.NoError(t, e)
201
202 assert.False(t, v.IsLiteral())
203 assert.True(t, v.IsFuncall())
204 assert.False(t, v.IsBinary())
205 assert.False(t, v.IsUnary())
206 assert.False(t, v.IsVariadic())
207
208 assert.Equal(t, "[()", v.String())
209
210 v, e = NewFuncall(1, "sum", ExprList{literalOrDie(1, "2")})
211 assert.NotNil(t, v)
212 assert.NoError(t, e)
213
214 assert.False(t, v.IsLiteral())
215 assert.True(t, v.IsFuncall())
216 assert.False(t, v.IsBinary())
217 assert.False(t, v.IsUnary())
218 assert.False(t, v.IsVariadic())
219
220 assert.Equal(t, "sum(2)", v.String())
221
222 v, e = NewFuncall(1, "print", ExprList{v, literalOrDie(1, "1")})
223 assert.NotNil(t, v)
224 assert.NoError(t, e)
225
226 assert.False(t, v.IsLiteral())
227 assert.True(t, v.IsFuncall())
228 assert.False(t, v.IsBinary())
229 assert.False(t, v.IsUnary())
230 assert.False(t, v.IsVariadic())
231
232 assert.Equal(t, "print(sum(2), 1)", v.String())
233}

Callers

nothing calls this directly

Calls 8

NewFuncallFunction · 0.85
literalOrDieFunction · 0.85
IsLiteralMethod · 0.80
IsFuncallMethod · 0.80
IsBinaryMethod · 0.80
IsUnaryMethod · 0.80
IsVariadicMethod · 0.80
StringMethod · 0.45

Tested by

no test coverage detected