|
|
|
@ -131,6 +131,11 @@ func TestParseSet(t *testing.T) {
|
|
|
|
expect: map[string]any{"zero": "0"},
|
|
|
|
expect: map[string]any{"zero": "0"},
|
|
|
|
err: false,
|
|
|
|
err: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
str: "empty_list={}",
|
|
|
|
|
|
|
|
expect: map[string]any{"empty_list": []any{}},
|
|
|
|
|
|
|
|
err: false,
|
|
|
|
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
tests := []struct {
|
|
|
|
tests := []struct {
|
|
|
|
str string
|
|
|
|
str string
|
|
|
|
@ -287,6 +292,26 @@ func TestParseSet(t *testing.T) {
|
|
|
|
map[string]any{"name1": map[string]any{"name2": []string{"value1", "value2"}}},
|
|
|
|
map[string]any{"name1": map[string]any{"name2": []string{"value1", "value2"}}},
|
|
|
|
false,
|
|
|
|
false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
str: "name1={value1}",
|
|
|
|
|
|
|
|
expect: map[string]any{"name1": []string{"value1"}},
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
str: "name1={value1,}",
|
|
|
|
|
|
|
|
expect: map[string]any{"name1": []string{"value1", ""}},
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
str: "name1={}",
|
|
|
|
|
|
|
|
expect: map[string]any{"name1": []any{}},
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
str: "name1={},name2=value2",
|
|
|
|
|
|
|
|
expect: map[string]any{"name1": []any{}, "name2": "value2"},
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
str: "name1.name2={}",
|
|
|
|
|
|
|
|
expect: map[string]any{"name1": map[string]any{"name2": []any{}}},
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
str: "name1={1021,902",
|
|
|
|
str: "name1={1021,902",
|
|
|
|
err: true,
|
|
|
|
err: true,
|
|
|
|
@ -344,6 +369,10 @@ func TestParseSet(t *testing.T) {
|
|
|
|
str: "noval[0]=",
|
|
|
|
str: "noval[0]=",
|
|
|
|
expect: map[string]any{"noval": []any{""}},
|
|
|
|
expect: map[string]any{"noval": []any{""}},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
str: "list[0]={}",
|
|
|
|
|
|
|
|
expect: map[string]any{"list": []any{[]any{}}},
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
str: "nested[0][0]=1",
|
|
|
|
str: "nested[0][0]=1",
|
|
|
|
expect: map[string]any{"nested": []any{[]any{1}}},
|
|
|
|
expect: map[string]any{"nested": []any{[]any{1}}},
|
|
|
|
@ -667,6 +696,17 @@ func TestParseFile(t *testing.T) {
|
|
|
|
assert.YAMLEq(t, string(y1), string(y2), input)
|
|
|
|
assert.YAMLEq(t, string(y1), string(y2), input)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func TestParseFileEmptyList(t *testing.T) {
|
|
|
|
|
|
|
|
input := "name1={}"
|
|
|
|
|
|
|
|
rs2v := func(rs []rune) (any, error) {
|
|
|
|
|
|
|
|
return nil, fmt.Errorf("unexpected read of %q", string(rs))
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
got, err := ParseFile(input, rs2v)
|
|
|
|
|
|
|
|
require.NoError(t, err)
|
|
|
|
|
|
|
|
assert.Equal(t, map[string]any{"name1": []any{}}, got, input)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
func TestParseIntoFile(t *testing.T) {
|
|
|
|
func TestParseIntoFile(t *testing.T) {
|
|
|
|
got := map[string]any{}
|
|
|
|
got := map[string]any{}
|
|
|
|
input := "name1=path1"
|
|
|
|
input := "name1=path1"
|
|
|
|
|