Update argument type of set expr function
It changes 3rd argument type os set expr function from TypedValue to interface, since GvalParser parses argument to native types before evaluating the expression.
This commit is contained in:
+26
-4
@@ -6,6 +6,12 @@ import (
|
||||
"testing"
|
||||
)
|
||||
|
||||
func Example_simpleExpression() {
|
||||
eval(`40 + 2`, nil)
|
||||
// output:
|
||||
// 42
|
||||
}
|
||||
|
||||
func TestParser(t *testing.T) {
|
||||
var (
|
||||
req = require.New(t)
|
||||
@@ -23,8 +29,24 @@ func TestParser(t *testing.T) {
|
||||
req.True(result)
|
||||
}
|
||||
|
||||
func Example_simpleExpresion() {
|
||||
eval(`40 + 2`, nil)
|
||||
// output:
|
||||
// 42
|
||||
func TestGvalParser(t *testing.T) {
|
||||
var (
|
||||
req = require.New(t)
|
||||
ctx = context.Background()
|
||||
p = NewGvalParser()
|
||||
vv, err = NewVars(map[string]interface{}{
|
||||
"vars": &Vars{},
|
||||
"key": "foo",
|
||||
"value": Must(NewString("foo")),
|
||||
})
|
||||
result interface{}
|
||||
)
|
||||
req.NoError(err)
|
||||
|
||||
pp, err := p.Parse("toJSON(set(vars, key, value))")
|
||||
req.NoError(err)
|
||||
|
||||
result, err = pp.Eval(ctx, vv)
|
||||
req.NoError(err)
|
||||
req.Equal("{\"foo\":{\"@value\":\"foo\",\"@type\":\"String\"}}", result)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user