mirror of
https://github.com/mikefarah/yq.git
synced 2026-09-06 02:03:24 +08:00
support string X int multiplication as jq (#1988)
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
package yqlib
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
"testing"
|
||||
)
|
||||
|
||||
@@ -174,6 +176,40 @@ var multiplyOperatorScenarios = []expressionScenario{
|
||||
"D0, P[], (!!map)::a: 12\nb: 4\n",
|
||||
},
|
||||
},
|
||||
{
|
||||
description: "Multiply string node X int",
|
||||
document: docNoComments,
|
||||
expression: ".b * 4",
|
||||
expected: []string{
|
||||
fmt.Sprintf("D0, P[b], (!!str)::%s\n", strings.Repeat("banana", 4)),
|
||||
},
|
||||
},
|
||||
{
|
||||
description: "Multiply int X string node",
|
||||
document: docNoComments,
|
||||
expression: "4 * .b",
|
||||
expected: []string{
|
||||
fmt.Sprintf("D0, P[], (!!str)::%s\n", strings.Repeat("banana", 4)),
|
||||
},
|
||||
},
|
||||
{
|
||||
description: "Multiply string X int node",
|
||||
document: `n: 4
|
||||
`,
|
||||
expression: `"banana" * .n`,
|
||||
expected: []string{
|
||||
fmt.Sprintf("D0, P[], (!!str)::%s\n", strings.Repeat("banana", 4)),
|
||||
},
|
||||
},
|
||||
{
|
||||
description: "Multiply int node X string",
|
||||
document: `n: 4
|
||||
`,
|
||||
expression: `.n * "banana"`,
|
||||
expected: []string{
|
||||
fmt.Sprintf("D0, P[n], (!!str)::%s\n", strings.Repeat("banana", 4)),
|
||||
},
|
||||
},
|
||||
{
|
||||
skipDoc: true,
|
||||
document: doc1,
|
||||
|
||||
Reference in New Issue
Block a user