Add TestEvalWithArrayOfValuesAndInvalidIndex

This commit is contained in:
TwinProduction 2021-05-15 22:38:13 -04:00
parent e3038f0e80
commit 57ef931d38
2 changed files with 11 additions and 1 deletions

View File

@ -41,7 +41,7 @@ func extractValue(currentKey string, value interface{}) interface{} {
tmp := strings.SplitN(currentKey, "[", 3) tmp := strings.SplitN(currentKey, "[", 3)
arrayIndex, err := strconv.Atoi(strings.Replace(tmp[1], "]", "", 1)) arrayIndex, err := strconv.Atoi(strings.Replace(tmp[1], "]", "", 1))
if err != nil { if err != nil {
return value return nil
} }
currentKey := tmp[0] currentKey := tmp[0]
// if currentKey contains only an index (i.e. [0] or 0) // if currentKey contains only an index (i.e. [0] or 0)

View File

@ -84,6 +84,16 @@ func TestEvalWithArrayOfValues(t *testing.T) {
} }
} }
func TestEvalWithArrayOfValuesAndInvalidIndex(t *testing.T) {
path := "ids[wat]"
data := `{"ids": [1, 2]}`
_, _, err := Eval(path, []byte(data))
if err == nil {
t.Error("Expected an error")
}
}
func TestEvalWithRootArrayOfValues(t *testing.T) { func TestEvalWithRootArrayOfValues(t *testing.T) {
path := "[1]" path := "[1]"
data := `[1, 2]` data := `[1, 2]`