mirror of
https://github.com/mikefarah/yq.git
synced 2026-09-05 17:36:59 +08:00
Generic ast (#1829)
Remove dependency on yaml.Node for internal AST representation. Yaml decoder is now just another decoder.
This commit is contained in:
@@ -36,7 +36,7 @@ var addOperatorScenarios = []expressionScenario{
|
||||
document: `{}`,
|
||||
expression: "(.a + .b) as $x | .",
|
||||
expected: []string{
|
||||
"D0, P[], (doc)::{}\n",
|
||||
"D0, P[], (!!map)::{}\n",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -44,7 +44,7 @@ var addOperatorScenarios = []expressionScenario{
|
||||
document: `a: 0`,
|
||||
expression: ".a += .b.c",
|
||||
expected: []string{
|
||||
"D0, P[], (doc)::a: 0\n",
|
||||
"D0, P[], (!!map)::a: 0\n",
|
||||
},
|
||||
},
|
||||
|
||||
@@ -63,7 +63,7 @@ var addOperatorScenarios = []expressionScenario{
|
||||
dontFormatInputForDoc: true,
|
||||
expression: `.a += .b`,
|
||||
expected: []string{
|
||||
"D0, P[], (doc)::a: [1, 2, 3, 4]\nb:\n - 3\n - 4\n",
|
||||
"D0, P[], (!!map)::a: [1, 2, 3, 4]\nb:\n - 3\n - 4\n",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -98,7 +98,7 @@ var addOperatorScenarios = []expressionScenario{
|
||||
document: `a: ['dog']`,
|
||||
expression: `.a += "cat"`,
|
||||
expected: []string{
|
||||
"D0, P[], (doc)::a: ['dog', 'cat']\n",
|
||||
"D0, P[], (!!map)::a: ['dog', 'cat']\n",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -106,7 +106,7 @@ var addOperatorScenarios = []expressionScenario{
|
||||
document: `a: [dog]`,
|
||||
expression: `.a = ["cat"] + .a`,
|
||||
expected: []string{
|
||||
"D0, P[], (doc)::a: [cat, dog]\n",
|
||||
"D0, P[], (!!map)::a: [cat, dog]\n",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -116,7 +116,7 @@ var addOperatorScenarios = []expressionScenario{
|
||||
document: `{a: ['dog'], b: cat}`,
|
||||
expression: `.a = .a + .b`,
|
||||
expected: []string{
|
||||
"D0, P[], (doc)::{a: ['dog', 'cat'], b: cat}\n",
|
||||
"D0, P[], (!!map)::{a: ['dog', 'cat'], b: cat}\n",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -125,7 +125,7 @@ var addOperatorScenarios = []expressionScenario{
|
||||
document: `a: []`,
|
||||
expression: `.a += "cat"`,
|
||||
expected: []string{
|
||||
"D0, P[], (doc)::a:\n - cat\n",
|
||||
"D0, P[], (!!map)::a:\n - cat\n",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -134,7 +134,7 @@ var addOperatorScenarios = []expressionScenario{
|
||||
document: `a: [dog]`,
|
||||
expression: `.a += "cat"`,
|
||||
expected: []string{
|
||||
"D0, P[], (doc)::a: [dog, cat]\n",
|
||||
"D0, P[], (!!map)::a: [dog, cat]\n",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -171,7 +171,7 @@ var addOperatorScenarios = []expressionScenario{
|
||||
document: `a: {}`,
|
||||
expression: `.a += {"b": "cat"}`,
|
||||
expected: []string{
|
||||
"D0, P[], (doc)::a:\n b: cat\n",
|
||||
"D0, P[], (!!map)::a:\n b: cat\n",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -180,7 +180,7 @@ var addOperatorScenarios = []expressionScenario{
|
||||
document: `a: {c: dog}`,
|
||||
expression: `.a += {"b": "cat"}`,
|
||||
expected: []string{
|
||||
"D0, P[], (doc)::a: {c: dog, b: cat}\n",
|
||||
"D0, P[], (!!map)::a: {c: dog, b: cat}\n",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -196,7 +196,7 @@ var addOperatorScenarios = []expressionScenario{
|
||||
document: `a: { a1: {b: [cat]}, a2: {b: [dog]}, a3: {} }`,
|
||||
expression: `.a[].b += ["mouse"]`,
|
||||
expected: []string{
|
||||
"D0, P[], (doc)::a: {a1: {b: [cat, mouse]}, a2: {b: [dog, mouse]}, a3: {b: [mouse]}}\n",
|
||||
"D0, P[], (!!map)::a: {a1: {b: [cat, mouse]}, a2: {b: [dog, mouse]}, a3: {b: [mouse]}}\n",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -204,7 +204,7 @@ var addOperatorScenarios = []expressionScenario{
|
||||
document: `{a: cat, b: meow}`,
|
||||
expression: `.a += .b`,
|
||||
expected: []string{
|
||||
"D0, P[], (doc)::{a: catmeow, b: meow}\n",
|
||||
"D0, P[], (!!map)::{a: catmeow, b: meow}\n",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -245,7 +245,7 @@ var addOperatorScenarios = []expressionScenario{
|
||||
document: `{a: 3, b: 4.9}`,
|
||||
expression: `.a = .a + .b`,
|
||||
expected: []string{
|
||||
"D0, P[], (doc)::{a: 7.9, b: 4.9}\n",
|
||||
"D0, P[], (!!map)::{a: 7.9, b: 4.9}\n",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -254,7 +254,7 @@ var addOperatorScenarios = []expressionScenario{
|
||||
document: `{a: 3, b: 4}`,
|
||||
expression: `.a = .a + .b`,
|
||||
expected: []string{
|
||||
"D0, P[], (doc)::{a: 7, b: 4}\n",
|
||||
"D0, P[], (!!map)::{a: 7, b: 4}\n",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -262,7 +262,7 @@ var addOperatorScenarios = []expressionScenario{
|
||||
document: `{a: 3, b: 5}`,
|
||||
expression: `.[] += 1`,
|
||||
expected: []string{
|
||||
"D0, P[], (doc)::{a: 4, b: 6}\n",
|
||||
"D0, P[], (!!map)::{a: 4, b: 6}\n",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -271,7 +271,7 @@ var addOperatorScenarios = []expressionScenario{
|
||||
document: `a: 2021-01-01T00:00:00Z`,
|
||||
expression: `.a += "3h10m"`,
|
||||
expected: []string{
|
||||
"D0, P[], (doc)::a: 2021-01-01T03:10:00Z\n",
|
||||
"D0, P[], (!!map)::a: 2021-01-01T03:10:00Z\n",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -280,7 +280,7 @@ var addOperatorScenarios = []expressionScenario{
|
||||
document: `a: 2021-01-01`,
|
||||
expression: `.a += "24h"`,
|
||||
expected: []string{
|
||||
"D0, P[], (doc)::a: 2021-01-02T00:00:00Z\n",
|
||||
"D0, P[], (!!map)::a: 2021-01-02T00:00:00Z\n",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -289,7 +289,7 @@ var addOperatorScenarios = []expressionScenario{
|
||||
document: `a: Saturday, 15-Dec-01 at 2:59AM GMT`,
|
||||
expression: `with_dtf("Monday, 02-Jan-06 at 3:04PM MST", .a += "3h1m")`,
|
||||
expected: []string{
|
||||
"D0, P[], (doc)::a: Saturday, 15-Dec-01 at 6:00AM GMT\n",
|
||||
"D0, P[], (!!map)::a: Saturday, 15-Dec-01 at 6:00AM GMT\n",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -299,7 +299,7 @@ var addOperatorScenarios = []expressionScenario{
|
||||
document: `a: !cat Saturday, 15-Dec-01 at 2:59AM GMT`,
|
||||
expression: `with_dtf("Monday, 02-Jan-06 at 3:04PM MST", .a += "3h1m")`,
|
||||
expected: []string{
|
||||
"D0, P[], (doc)::a: !cat Saturday, 15-Dec-01 at 6:00AM GMT\n",
|
||||
"D0, P[], (!!map)::a: !cat Saturday, 15-Dec-01 at 6:00AM GMT\n",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -316,7 +316,7 @@ var addOperatorScenarios = []expressionScenario{
|
||||
document: "a: {thing: {name: Astuff, value: x}, a1: cool}\nb: {thing: {name: Bstuff, legs: 3}, b1: neat}",
|
||||
expression: `.a += .b`,
|
||||
expected: []string{
|
||||
"D0, P[], (doc)::a: {thing: {name: Bstuff, legs: 3}, a1: cool, b1: neat}\nb: {thing: {name: Bstuff, legs: 3}, b1: neat}\n",
|
||||
"D0, P[], (!!map)::a: {thing: {name: Bstuff, legs: 3}, a1: cool, b1: neat}\nb: {thing: {name: Bstuff, legs: 3}, b1: neat}\n",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -325,7 +325,7 @@ var addOperatorScenarios = []expressionScenario{
|
||||
document: "a: !horse cat\nb: !goat _meow",
|
||||
expression: `.a += .b`,
|
||||
expected: []string{
|
||||
"D0, P[], (doc)::a: !horse cat_meow\nb: !goat _meow\n",
|
||||
"D0, P[], (!!map)::a: !horse cat_meow\nb: !goat _meow\n",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -334,7 +334,7 @@ var addOperatorScenarios = []expressionScenario{
|
||||
document: "a: !horse 1.2\nb: !goat 2.3",
|
||||
expression: `.a += .b`,
|
||||
expected: []string{
|
||||
"D0, P[], (doc)::a: !horse 3.5\nb: !goat 2.3\n",
|
||||
"D0, P[], (!!map)::a: !horse 3.5\nb: !goat 2.3\n",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -342,7 +342,7 @@ var addOperatorScenarios = []expressionScenario{
|
||||
document: "a: !horse 2\nb: !goat 2.3",
|
||||
expression: `.a += .b`,
|
||||
expected: []string{
|
||||
"D0, P[], (doc)::a: !horse 4.3\nb: !goat 2.3\n",
|
||||
"D0, P[], (!!map)::a: !horse 4.3\nb: !goat 2.3\n",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -350,7 +350,7 @@ var addOperatorScenarios = []expressionScenario{
|
||||
document: "a: 2\nb: !goat 2.3",
|
||||
expression: `.a += .b`,
|
||||
expected: []string{
|
||||
"D0, P[], (doc)::a: 4.3\nb: !goat 2.3\n",
|
||||
"D0, P[], (!!map)::a: 4.3\nb: !goat 2.3\n",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -359,7 +359,7 @@ var addOperatorScenarios = []expressionScenario{
|
||||
document: "a: !horse 2\nb: !goat 3",
|
||||
expression: `.a += .b`,
|
||||
expected: []string{
|
||||
"D0, P[], (doc)::a: !horse 5\nb: !goat 3\n",
|
||||
"D0, P[], (!!map)::a: !horse 5\nb: !goat 3\n",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -369,7 +369,7 @@ var addOperatorScenarios = []expressionScenario{
|
||||
document: "a: !horse [a]\nb: !goat [b]",
|
||||
expression: `.a += .b`,
|
||||
expected: []string{
|
||||
"D0, P[], (doc)::a: !horse [a, b]\nb: !goat [b]\n",
|
||||
"D0, P[], (!!map)::a: !horse [a, b]\nb: !goat [b]\n",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -378,7 +378,7 @@ var addOperatorScenarios = []expressionScenario{
|
||||
document: "a: &horse [1]",
|
||||
expression: `.a += 2`,
|
||||
expected: []string{
|
||||
"D0, P[], (doc)::a: &horse [1, 2]\n",
|
||||
"D0, P[], (!!map)::a: &horse [1, 2]\n",
|
||||
},
|
||||
},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user