fix: correct key order after add, flatten, keys, sort, reverse and shuffle

Signed-off-by: Antoine Deschênes <antoine.deschenes@linux.com>
This commit is contained in:
Antoine Deschênes
2025-06-07 21:04:26 +10:00
committed by Mike Farah
parent b84fd47934
commit b15ce77cad
9 changed files with 93 additions and 34 deletions
+54
View File
@@ -119,6 +119,60 @@ var deleteOperatorScenarios = []expressionScenario{
"D0, P[], (!!map)::a: []\n",
},
},
{
skipDoc: true,
description: "Delete entry appended to an array",
document: `[1,2]`,
expression: `. += [3] | del(.[2])`,
expected: []string{
"D0, P[], (!!seq)::[1, 2]\n",
},
},
{
skipDoc: true,
description: "Delete entry after sorting an array",
document: `[3,2,1]`,
expression: `sort | del(.[2])`,
expected: []string{
"D0, P[], (!!seq)::[1, 2]\n",
},
},
{
skipDoc: true,
description: "Delete entry after reversing an array",
document: `[1,2,3]`,
expression: `reverse | del(.[2])`,
expected: []string{
"D0, P[], (!!seq)::[3, 2]\n",
},
},
{
skipDoc: true,
description: "Delete entry after shuffling an array",
document: `[1,2,3]`,
expression: `shuffle | del(.[2])`,
expected: []string{
"D0, P[], (!!seq)::[3, 1]\n",
},
},
{
skipDoc: true,
description: "Delete entry from keys array",
document: `{"a": 1, "b": 2, "c": 3}`,
expression: `keys | del(.[] | select(.=="b"))`,
expected: []string{
"D0, P[], (!!seq)::- \"a\"\n- \"c\"\n",
},
},
{
skipDoc: true,
description: "Delete entry after flattening an array",
document: `[1,[2],[[3]]]`,
expression: `flatten | del(.[2])`,
expected: []string{
"D0, P[], (!!seq)::[1, 2]\n",
},
},
{
skipDoc: true,
document: `a: [10,x,10, 10, x, 10]`,