1
0
mirror of https://github.com/taigrr/yq synced 2025-01-18 04:53:17 -08:00
yq/pkg/yqlib/treeops/operator_assign_test.go
2020-10-17 22:39:01 +11:00

63 lines
1.3 KiB
Go

package treeops
import (
"testing"
)
var assignOperatorScenarios = []expressionScenario{
{
document: `{a: {b: apple}}`,
expression: `.a.b |= "frog"`,
expected: []string{
"D0, P[], (!!map)::{a: {b: frog}}\n",
},
}, {
document: `{a: {b: apple}}`,
expression: `.a.b | (. |= "frog")`,
expected: []string{
"D0, P[a b], (!!str)::frog\n",
},
}, {
document: `{a: {b: apple}}`,
expression: `.a.b |= 5`,
expected: []string{
"D0, P[], (!!map)::{a: {b: 5}}\n",
},
}, {
document: `{a: {b: apple}}`,
expression: `.a.b |= 3.142`,
expected: []string{
"D0, P[], (!!map)::{a: {b: 3.142}}\n",
},
// document: `{}`,
// expression: `["cat", "dog"]`,
// expected: []string{
// "D0, P[], (!!seq)::- cat\n- dog\n",
// },
// }, {
// document: `{}`,
// expression: `1 | collect`,
// expected: []string{
// "D0, P[], (!!seq)::- 1\n",
// },
// }, {
// document: `[1,2,3]`,
// expression: `[.[]]`,
// expected: []string{
// "D0, P[], (!!seq)::- 1\n- 2\n- 3\n",
// },
// }, {
// document: `a: {b: [1,2,3]}`,
// expression: `[.a.b[]]`,
// expected: []string{
// "D0, P[a b], (!!seq)::- 1\n- 2\n- 3\n",
// },
},
}
func TestAssignOperatorScenarios(t *testing.T) {
for _, tt := range assignOperatorScenarios {
testScenario(t, &tt)
}
}