Compare commits

..

1 Commits

Author SHA1 Message Date
Jonathan Chemla
3379b46fbb
Merge cd35848185 into 4532346e13 2025-09-16 21:21:27 +02:00
2 changed files with 47 additions and 10 deletions

View File

@ -273,7 +273,7 @@ will output
100
```
## First element with no filter from array
## First element with no RHS from array
Given a sample.yml file of:
```yaml
- 10
@ -289,7 +289,7 @@ will output
10
```
## First element with no filter from array of maps
## First element with no RHS from array of maps
Given a sample.yml file of:
```yaml
- a: 10
@ -304,3 +304,42 @@ will output
a: 10
```
## No RHS on empty array returns nothing
Given a sample.yml file of:
```yaml
[]
```
then
```bash
yq 'first' sample.yml
```
will output
```yaml
```
## No RHS on scalar returns nothing
Given a sample.yml file of:
```yaml
hello
```
then
```bash
yq 'first' sample.yml
```
will output
```yaml
```
## No RHS on null returns nothing
Given a sample.yml file of:
```yaml
null
```
then
```bash
yq 'first' sample.yml
```
will output
```yaml
```

View File

@ -139,8 +139,9 @@ var firstOperatorScenarios = []expressionScenario{
"D0, P[1], (!!int)::100\n",
},
},
// New tests for no RHS (return first child)
{
description: "First element with no filter from array",
description: "First element with no RHS from array",
document: "[10, 100, 1]",
expression: `first`,
expected: []string{
@ -148,7 +149,7 @@ var firstOperatorScenarios = []expressionScenario{
},
},
{
description: "First element with no filter from array of maps",
description: "First element with no RHS from array of maps",
document: "[{a: 10},{a: 100}]",
expression: `first`,
expected: []string{
@ -156,22 +157,19 @@ var firstOperatorScenarios = []expressionScenario{
},
},
{
description: "No filter on empty array returns nothing",
skipDoc: true,
description: "No RHS on empty array returns nothing",
document: "[]",
expression: `first`,
expected: []string{},
},
{
description: "No filter on scalar returns nothing",
skipDoc: true,
description: "No RHS on scalar returns nothing",
document: "hello",
expression: `first`,
expected: []string{},
},
{
description: "No filter on null returns nothing",
skipDoc: true,
description: "No RHS on null returns nothing",
document: "null",
expression: `first`,
expected: []string{},