Commit ec512340 authored by Sam Whited's avatar Sam Whited Committed by Ian Lance Taylor

encoding/xml: format test output using subtests

Change-Id: I2d155c838935cd8427abd142a462ff4c56829715
Reviewed-on: https://go-review.googlesource.com/37948Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
parent 0d3cd51c
...@@ -1652,28 +1652,31 @@ func TestMarshal(t *testing.T) { ...@@ -1652,28 +1652,31 @@ func TestMarshal(t *testing.T) {
if test.UnmarshalOnly { if test.UnmarshalOnly {
continue continue
} }
t.Run(fmt.Sprintf("%d", idx), func(t *testing.T) {
data, err := Marshal(test.Value) data, err := Marshal(test.Value)
if err != nil { if err != nil {
if test.MarshalError == "" { if test.MarshalError == "" {
t.Errorf("#%d: marshal(%#v): %s", idx, test.Value, err) t.Errorf("marshal(%#v): %s", test.Value, err)
continue return
} }
if !strings.Contains(err.Error(), test.MarshalError) { if !strings.Contains(err.Error(), test.MarshalError) {
t.Errorf("#%d: marshal(%#v): %s, want %q", idx, test.Value, err, test.MarshalError) t.Errorf("marshal(%#v): %s, want %q", test.Value, err, test.MarshalError)
} }
continue return
} }
if test.MarshalError != "" { if test.MarshalError != "" {
t.Errorf("#%d: Marshal succeeded, want error %q", idx, test.MarshalError) t.Errorf("Marshal succeeded, want error %q", test.MarshalError)
continue return
} }
if got, want := string(data), test.ExpectXML; got != want { if got, want := string(data), test.ExpectXML; got != want {
if strings.Contains(want, "\n") { if strings.Contains(want, "\n") {
t.Errorf("#%d: marshal(%#v):\nHAVE:\n%s\nWANT:\n%s", idx, test.Value, got, want) t.Errorf("marshal(%#v):\nHAVE:\n%s\nWANT:\n%s", test.Value, got, want)
} else { } else {
t.Errorf("#%d: marshal(%#v):\nhave %#q\nwant %#q", idx, test.Value, got, want) t.Errorf("marshal(%#v):\nhave %#q\nwant %#q", test.Value, got, want)
} }
} }
})
} }
} }
...@@ -1781,6 +1784,7 @@ func TestUnmarshal(t *testing.T) { ...@@ -1781,6 +1784,7 @@ func TestUnmarshal(t *testing.T) {
dest := reflect.New(vt.Elem()).Interface() dest := reflect.New(vt.Elem()).Interface()
err := Unmarshal([]byte(test.ExpectXML), dest) err := Unmarshal([]byte(test.ExpectXML), dest)
t.Run(fmt.Sprintf("%d", i), func(t *testing.T) {
switch fix := dest.(type) { switch fix := dest.(type) {
case *Feed: case *Feed:
fix.Author.InnerXML = "" fix.Author.InnerXML = ""
...@@ -1791,17 +1795,18 @@ func TestUnmarshal(t *testing.T) { ...@@ -1791,17 +1795,18 @@ func TestUnmarshal(t *testing.T) {
if err != nil { if err != nil {
if test.UnmarshalError == "" { if test.UnmarshalError == "" {
t.Errorf("#%d: unmarshal(%#v): %s", i, test.ExpectXML, err) t.Errorf("unmarshal(%#v): %s", test.ExpectXML, err)
continue return
} }
if !strings.Contains(err.Error(), test.UnmarshalError) { if !strings.Contains(err.Error(), test.UnmarshalError) {
t.Errorf("#%d: unmarshal(%#v): %s, want %q", i, test.ExpectXML, err, test.UnmarshalError) t.Errorf("unmarshal(%#v): %s, want %q", test.ExpectXML, err, test.UnmarshalError)
} }
continue return
} }
if got, want := dest, test.Value; !reflect.DeepEqual(got, want) { if got, want := dest, test.Value; !reflect.DeepEqual(got, want) {
t.Errorf("#%d: unmarshal(%q):\nhave %#v\nwant %#v", i, test.ExpectXML, got, want) t.Errorf("unmarshal(%q):\nhave %#v\nwant %#v", test.ExpectXML, got, want)
} }
})
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment