feat: parse functions

This commit is contained in:
debugtalk
2021-10-03 21:16:05 +08:00
parent cc736e9aed
commit 36b3e21880
2 changed files with 71 additions and 0 deletions

View File

@@ -166,6 +166,7 @@ func TestParseDataStringWithVariables(t *testing.T) {
}
}
}
func TestParseDataStringWithVariablesAbnormal(t *testing.T) {
variablesMapping := map[string]interface{}{
"var_1": "abc",
@@ -374,3 +375,35 @@ func TestParseFunctionArguments(t *testing.T) {
}
}
}
func TestParseDataStringWithFunctions(t *testing.T) {
variablesMapping := map[string]interface{}{
"n": 5,
"a": 12.3,
"b": 3.45,
}
if !assert.Len(t, parseData("${gen_random_string(5)}", variablesMapping), 5) {
t.Fail()
}
if !assert.Len(t, parseData("${gen_random_string($n)}", variablesMapping), 5) {
t.Fail()
}
if !assert.Len(t, parseData("123${gen_random_string(5)}abc", variablesMapping), 11) {
t.Fail()
}
if !assert.Len(t, parseData("123${gen_random_string($n)}abc", variablesMapping), 11) {
t.Fail()
}
if !assert.Equal(t, parseData("${max($a, $b)}", variablesMapping), 12.3) {
t.Fail()
}
if !assert.Equal(t, parseData("abc${max($a, $b)}123", variablesMapping), "abc12.3123") {
t.Fail()
}
if !assert.Equal(t, parseData("abc${max($a, 3.45)}123", variablesMapping), "abc12.3123") {
t.Fail()
}
}