diff --git a/ast/ast_test.go b/ast/ast_test.go index f35be16..7743538 100644 --- a/ast/ast_test.go +++ b/ast/ast_test.go @@ -218,47 +218,40 @@ func TestIsCommentOnly(t *testing.T) { in: `foo: 1 bar: 2`, want: []bool{false, false}, - }, - { - in: `foo: 1 + }, { + in: `foo: 1 bar: 2 `, - want: []bool{false, false}, - }, - { - in: `foo: 1 + want: []bool{false, false}, + }, { + in: `foo: 1 bar: 2 # A long trailing comment # over multiple lines. `, - want: []bool{false, false, true}, - }, - { - in: `first { + want: []bool{false, false, true}, + }, { + in: `first { foo: true # bar } `, - want: []bool{false}, - }, - { - in: `first { + want: []bool{false}, + }, { + in: `first { foo: true # bar } # trailing comment `, - want: []bool{false, true}, - }, - { - in: `foo: 1 + want: []bool{false, true}, + }, { + in: `foo: 1 `, - want: []bool{false, true}, - }, - { - in: `{}`, - want: []bool{false}, - }, - } + want: []bool{false, true}, + }, { + in: `{}`, + want: []bool{false}, + }} for _, input := range inputs { nodes, err := parser.Parse([]byte(input.in)) if err != nil { @@ -284,43 +277,37 @@ func TestIsBlankLine(t *testing.T) { in: `foo: 1 bar: 2`, want: []bool{false, false}, - }, - { - in: `foo: 1 + }, { + in: `foo: 1 bar: 2 `, - want: []bool{false, false}, - }, - { - in: `foo: 1 + want: []bool{false, false}, + }, { + in: `foo: 1 bar: 2 # A trailing comment. `, - want: []bool{false, false, false}, - }, - { - in: `first { + want: []bool{false, false, false}, + }, { + in: `first { foo: true # bar } # trailing comment `, - want: []bool{false, false}, - }, - { - in: `foo: 1 + want: []bool{false, false}, + }, { + in: `foo: 1 `, - want: []bool{false, true}, - }, - { - in: `# Header comment. + want: []bool{false, true}, + }, { + in: `# Header comment. foo: 1 `, - // The blank line is part of the node of the `foo: 1` item. - want: []bool{false, false}, - }, - } + // The blank line is part of the node of the `foo: 1` item. + want: []bool{false, false}, + }} for _, input := range inputs { nodes, err := parser.Parse([]byte(input.in)) if err != nil { diff --git a/unquote/unquote_test.go b/unquote/unquote_test.go index 480d574..55a6616 100644 --- a/unquote/unquote_test.go +++ b/unquote/unquote_test.go @@ -14,32 +14,27 @@ func TestUnquote(t *testing.T) { want string wantRaw string wantRune rune - }{ - { - in: `"value"`, - want: `value`, - wantRaw: `value`, - wantRune: rune('"'), - }, - { - in: `'value'`, - want: `value`, - wantRaw: `value`, - wantRune: rune('\''), - }, - { - in: `"foo\'\a\b\f\n\r\t\vbar"`, - want: "foo'\a\b\f\n\r\t\vbar", // Double-quoted; string contains real control characters. - wantRaw: `foo\'\a\b\f\n\r\t\vbar`, - wantRune: rune('"'), - }, - { - in: `'foo\"bar'`, - want: `foo"bar`, - wantRaw: `foo\"bar`, - wantRune: rune('\''), - }, - } + }{{ + in: `"value"`, + want: `value`, + wantRaw: `value`, + wantRune: rune('"'), + }, { + in: `'value'`, + want: `value`, + wantRaw: `value`, + wantRune: rune('\''), + }, { + in: `"foo\'\a\b\f\n\r\t\vbar"`, + want: "foo'\a\b\f\n\r\t\vbar", // Double-quoted; string contains real control characters. + wantRaw: `foo\'\a\b\f\n\r\t\vbar`, + wantRune: rune('"'), + }, { + in: `'foo\"bar'`, + want: `foo"bar`, + wantRaw: `foo\"bar`, + wantRune: rune('\''), + }} for _, input := range inputs { node := &ast.Node{Name: "name", Values: []*ast.Value{{Value: input.in}}} @@ -75,76 +70,58 @@ func TestErrorHandling(t *testing.T) { inputs := []struct { in string wantErr string - }{ - { - in: `"value`, - wantErr: "unmatched quote", - }, - { - in: `"`, - wantErr: "not a quoted string", - }, - { - in: "`foo`", - wantErr: "invalid quote character `", - }, - { - in: `"foo\x"`, - wantErr: `\x requires 2 following digits`, - }, - { - in: `"foo\xH"`, - wantErr: `\x requires 2 following digits`, - }, - { - in: `"foo\xHH"`, - wantErr: `\xHH contains non-hexadecimal digits`, - }, - { - in: `"foo\u"`, - wantErr: `\u requires 4 following digits`, - }, - { - in: `"foo\uH"`, - wantErr: `\u requires 4 following digits`, - }, - { - in: `"foo\uHHHH"`, - wantErr: `\uHHHH contains non-hexadecimal digits`, - }, - { - in: `"foo\U"`, - wantErr: `\U requires 8 following digits`, - }, - { - in: `"foo\UH"`, - wantErr: `\U requires 8 following digits`, - }, - { - in: `"foo\UHHHHHHHH"`, - wantErr: `\UHHHHHHHH contains non-hexadecimal digits`, - }, - { - in: `"foo\UFFFFFFFF"`, - wantErr: `\UFFFFFFFF is not a valid Unicode code point`, - }, - { - in: `"foo\0"`, - wantErr: `\0 requires 2 following digits`, - }, - { - in: `"foo\0H"`, - wantErr: `\0 requires 2 following digits`, - }, - { - in: `"foo\0HH"`, - wantErr: `\0HH contains non-octal digits`, - }, - { - in: `"foo\y"`, - wantErr: `unknown escape \y`, - }, - } + }{{ + in: `"value`, + wantErr: "unmatched quote", + }, { + in: `"`, + wantErr: "not a quoted string", + }, { + in: "`foo`", + wantErr: "invalid quote character `", + }, { + in: `"foo\x"`, + wantErr: `\x requires 2 following digits`, + }, { + in: `"foo\xH"`, + wantErr: `\x requires 2 following digits`, + }, { + in: `"foo\xHH"`, + wantErr: `\xHH contains non-hexadecimal digits`, + }, { + in: `"foo\u"`, + wantErr: `\u requires 4 following digits`, + }, { + in: `"foo\uH"`, + wantErr: `\u requires 4 following digits`, + }, { + in: `"foo\uHHHH"`, + wantErr: `\uHHHH contains non-hexadecimal digits`, + }, { + in: `"foo\U"`, + wantErr: `\U requires 8 following digits`, + }, { + in: `"foo\UH"`, + wantErr: `\U requires 8 following digits`, + }, { + in: `"foo\UHHHHHHHH"`, + wantErr: `\UHHHHHHHH contains non-hexadecimal digits`, + }, { + in: `"foo\UFFFFFFFF"`, + wantErr: `\UFFFFFFFF is not a valid Unicode code point`, + }, { + in: `"foo\0"`, + wantErr: `\0 requires 2 following digits`, + }, { + in: `"foo\0H"`, + wantErr: `\0 requires 2 following digits`, + }, { + in: `"foo\0HH"`, + wantErr: `\0HH contains non-octal digits`, + }, { + in: `"foo\y"`, + wantErr: `unknown escape \y`, + }} for _, input := range inputs { node := &ast.Node{Name: "name", Values: []*ast.Value{{Value: input.in}}} @@ -160,20 +137,16 @@ func TestErrorHandlingRaw(t *testing.T) { inputs := []struct { in string wantErr string - }{ - { - in: `"value`, - wantErr: "unmatched quote", - }, - { - in: `"`, - wantErr: "not a quoted string", - }, - { - in: "`foo`", - wantErr: "invalid quote character `", - }, - } + }{{ + in: `"value`, + wantErr: "unmatched quote", + }, { + in: `"`, + wantErr: "not a quoted string", + }, { + in: "`foo`", + wantErr: "invalid quote character `", + }} for _, input := range inputs { node := &ast.Node{Name: "name", Values: []*ast.Value{{Value: input.in}}} @@ -189,12 +162,10 @@ func TestErrorHandlingMisc(t *testing.T) { inputs := []struct { in string wantErr string - }{ - { - in: `"value`, - wantErr: "unmatched quote", - }, - } + }{{ + in: `"value`, + wantErr: "unmatched quote", + }} for _, input := range inputs { node := &ast.Node{Name: "name", Values: []*ast.Value{{Value: input.in}}}