operator-unset.go: fixed function removal
This commit is contained in:
parent
032916d4fa
commit
be3bb12f28
@ -23,7 +23,7 @@ func deleteContextItem(ctx ExprContext, opTerm *term, item any) (deleted bool, e
|
||||
var size int
|
||||
if strings.HasSuffix(name, "()") {
|
||||
size = ctx.FuncCount()
|
||||
ctx.DeleteVar(strings.TrimRight(name, "()"))
|
||||
ctx.DeleteFunc(strings.TrimRight(name, "()"))
|
||||
deleted = ctx.FuncCount() < size
|
||||
} else {
|
||||
size = ctx.VarCount()
|
||||
|
@ -13,10 +13,11 @@ func TestOperator(t *testing.T) {
|
||||
inputs := []inputType{
|
||||
/* 1 */ {`a=1; unset "a"; a`, nil, `undefined variable or function "a"`},
|
||||
/* 2 */ {`a=1; unset ["a", "b"]`, int64(1), nil},
|
||||
/* 3 */ {`f=func(){3}; unset "f()"`, int64(1), nil},
|
||||
}
|
||||
|
||||
// t.Setenv("EXPR_PATH", ".")
|
||||
|
||||
runTestSuiteSpec(t, section, inputs, 2)
|
||||
//runTestSuite(t, section, inputs)
|
||||
//runTestSuiteSpec(t, section, inputs, 3)
|
||||
runTestSuite(t, section, inputs)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user