select doc

This commit is contained in:
Mike Farah 2020-11-18 09:41:29 +11:00
parent 2c062bc2a5
commit 3356061e1e

View File

@ -6,6 +6,7 @@ import (
var selectOperatorScenarios = []expressionScenario{ var selectOperatorScenarios = []expressionScenario{
{ {
description: "Select elements from array",
document: `[cat,goat,dog]`, document: `[cat,goat,dog]`,
expression: `.[] | select(. == "*at")`, expression: `.[] | select(. == "*at")`,
expected: []string{ expected: []string{
@ -13,22 +14,26 @@ var selectOperatorScenarios = []expressionScenario{
"D0, P[1], (!!str)::goat\n", "D0, P[1], (!!str)::goat\n",
}, },
}, { }, {
skipDoc: true,
document: `[hot, fot, dog]`, document: `[hot, fot, dog]`,
expression: `.[] | select(. == "*at")`, expression: `.[] | select(. == "*at")`,
expected: []string{}, expected: []string{},
}, { }, {
skipDoc: true,
document: `a: [cat,goat,dog]`, document: `a: [cat,goat,dog]`,
expression: `.a[] | select(. == "*at")`, expression: `.a[] | select(. == "*at")`,
expected: []string{ expected: []string{
"D0, P[a 0], (!!str)::cat\n", "D0, P[a 0], (!!str)::cat\n",
"D0, P[a 1], (!!str)::goat\n"}, "D0, P[a 1], (!!str)::goat\n"},
}, { }, {
description: "Select matching values in map",
document: `a: { things: cat, bob: goat, horse: dog }`, document: `a: { things: cat, bob: goat, horse: dog }`,
expression: `.a[] | select(. == "*at")`, expression: `.a[] | select(. == "*at")`,
expected: []string{ expected: []string{
"D0, P[a things], (!!str)::cat\n", "D0, P[a things], (!!str)::cat\n",
"D0, P[a bob], (!!str)::goat\n"}, "D0, P[a bob], (!!str)::goat\n"},
}, { }, {
skipDoc: true,
document: `a: { things: {include: true}, notMe: {include: false}, andMe: {include: fold} }`, document: `a: { things: {include: true}, notMe: {include: false}, andMe: {include: fold} }`,
expression: `.a[] | select(.include)`, expression: `.a[] | select(.include)`,
expected: []string{ expected: []string{
@ -36,6 +41,7 @@ var selectOperatorScenarios = []expressionScenario{
"D0, P[a andMe], (!!map)::{include: fold}\n", "D0, P[a andMe], (!!map)::{include: fold}\n",
}, },
}, { }, {
skipDoc: true,
document: `[cat,~,dog]`, document: `[cat,~,dog]`,
expression: `.[] | select(. == ~)`, expression: `.[] | select(. == ~)`,
expected: []string{ expected: []string{
@ -48,4 +54,5 @@ func TestSelectOperatorScenarios(t *testing.T) {
for _, tt := range selectOperatorScenarios { for _, tt := range selectOperatorScenarios {
testScenario(t, &tt) testScenario(t, &tt)
} }
documentScenarios(t, "Select Operator", selectOperatorScenarios)
} }