Something went wrong. Try again.
forked from charmbracelet/soft-serve
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192package git
import ( "testing"
"github.com/matryer/is")
func TestParseAttr(t *testing.T) { cases := []struct { in string file string want []Attribute }{ { in: "org/example/MyClass.java: diff: java\n", file: "org/example/MyClass.java", want: []Attribute{ { Name: "diff", Value: "java", }, }, }, { in: `org/example/MyClass.java: crlf: unsetorg/example/MyClass.java: diff: javaorg/example/MyClass.java: myAttr: set`, file: "org/example/MyClass.java", want: []Attribute{ { Name: "crlf", Value: "unset", }, { Name: "diff", Value: "java", }, { Name: "myAttr", Value: "set", }, }, }, { in: `org/example/MyClass.java: diff: javaorg/example/MyClass.java: myAttr: set`, file: "org/example/MyClass.java", want: []Attribute{ { Name: "diff", Value: "java", }, { Name: "myAttr", Value: "set", }, }, }, { in: `README: caveat: unspecified`, file: "README", want: []Attribute{ { Name: "caveat", Value: "unspecified", }, }, }, { in: "", file: "foo", want: []Attribute{}, }, { in: "\n", file: "foo", want: []Attribute{}, }, }
is := is.New(t) for _, c := range cases { attrs := parseAttributes(c.file, []byte(c.in)) if len(attrs) != len(c.want) { t.Fatalf("parseAttributes(%q, %q) = %v, want %v", c.file, c.in, attrs, c.want) }
is.Equal(attrs, c.want) }}