mirror of
https://github.com/mikefarah/yq.git
synced 2026-09-06 18:24:57 +08:00
fix: decode properties array bracket paths (#2693)
* fix: decode properties array bracket paths * test: add nested array bracket properties decode case --------- Co-authored-by: cyphercodes <cyphercodes@users.noreply.github.com>
This commit is contained in:
co-authored by
cyphercodes
parent
2861815f71
commit
8f3291d316
@@ -202,6 +202,37 @@ var propertyScenarios = []formatScenario{
|
||||
expected: expectedDecodedYaml,
|
||||
scenarioType: "decode",
|
||||
},
|
||||
{
|
||||
skipDoc: true,
|
||||
description: "Decode properties with array brackets",
|
||||
input: `user.credentials[0].username=user1
|
||||
user.credentials[0].password=$2b$08$...
|
||||
user.credentials[1].username=user2
|
||||
user.credentials[1].password=$2b$08$...
|
||||
user.credentials[2].username=user3
|
||||
user.credentials[2].password=$2b$10$...`,
|
||||
expected: `user:
|
||||
credentials:
|
||||
- username: user1
|
||||
password: $2b$08$...
|
||||
- username: user2
|
||||
password: $2b$08$...
|
||||
- username: user3
|
||||
password: $2b$10$...
|
||||
`,
|
||||
scenarioType: "decode-array-brackets",
|
||||
},
|
||||
{
|
||||
skipDoc: true,
|
||||
description: "Decode properties with nested array brackets",
|
||||
input: `user.clowns[0][1] = "cool"`,
|
||||
expected: `user:
|
||||
clowns:
|
||||
- - null
|
||||
- '"cool"'
|
||||
`,
|
||||
scenarioType: "decode-array-brackets",
|
||||
},
|
||||
|
||||
{
|
||||
skipDoc: true,
|
||||
@@ -442,6 +473,12 @@ func TestPropertyScenarios(t *testing.T) {
|
||||
test.AssertResultWithContext(t, s.expected, mustProcessFormatScenario(s, NewYamlDecoder(ConfiguredYamlPreferences), NewPropertiesEncoder(ConfiguredPropertiesPreferences)), s.description)
|
||||
case "decode":
|
||||
test.AssertResultWithContext(t, s.expected, mustProcessFormatScenario(s, NewPropertiesDecoder(), NewYamlEncoder(ConfiguredYamlPreferences)), s.description)
|
||||
case "decode-array-brackets":
|
||||
previousPreferences := ConfiguredPropertiesPreferences.Copy()
|
||||
ConfiguredPropertiesPreferences.UseArrayBrackets = true
|
||||
actual := mustProcessFormatScenario(s, NewPropertiesDecoder(), NewYamlEncoder(ConfiguredYamlPreferences))
|
||||
ConfiguredPropertiesPreferences = previousPreferences
|
||||
test.AssertResultWithContext(t, s.expected, actual, s.description)
|
||||
case "encode-wrapped":
|
||||
prefs := ConfiguredPropertiesPreferences.Copy()
|
||||
prefs.UnwrapScalar = false
|
||||
|
||||
Reference in New Issue
Block a user