Commit 29fb5d3e authored by Russ Cox's avatar Russ Cox

xml: simplify test

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/5320051
parent 134d6e4f
...@@ -314,27 +314,27 @@ func TestMarshal(t *testing.T) { ...@@ -314,27 +314,27 @@ func TestMarshal(t *testing.T) {
} }
var marshalErrorTests = []struct { var marshalErrorTests = []struct {
Value interface{} Value interface{}
ExpectErr string Err string
ExpectKind reflect.Kind Kind reflect.Kind
}{ }{
{ {
Value: make(chan bool), Value: make(chan bool),
ExpectErr: "xml: unsupported type: chan bool", Err: "xml: unsupported type: chan bool",
ExpectKind: reflect.Chan, Kind: reflect.Chan,
}, },
{ {
Value: map[string]string{ Value: map[string]string{
"question": "What do you get when you multiply six by nine?", "question": "What do you get when you multiply six by nine?",
"answer": "42", "answer": "42",
}, },
ExpectErr: "xml: unsupported type: map[string] string", Err: "xml: unsupported type: map[string] string",
ExpectKind: reflect.Map, Kind: reflect.Map,
}, },
{ {
Value: map[*Ship]bool{nil: false}, Value: map[*Ship]bool{nil: false},
ExpectErr: "xml: unsupported type: map[*xml.Ship] bool", Err: "xml: unsupported type: map[*xml.Ship] bool",
ExpectKind: reflect.Map, Kind: reflect.Map,
}, },
} }
...@@ -342,14 +342,11 @@ func TestMarshalErrors(t *testing.T) { ...@@ -342,14 +342,11 @@ func TestMarshalErrors(t *testing.T) {
for idx, test := range marshalErrorTests { for idx, test := range marshalErrorTests {
buf := bytes.NewBuffer(nil) buf := bytes.NewBuffer(nil)
err := Marshal(buf, test.Value) err := Marshal(buf, test.Value)
if got, want := err, test.ExpectErr; got == nil { if err == nil || err.String() != test.Err {
t.Errorf("#%d: want error %s", idx, want) t.Errorf("#%d: marshal(%#v) = [error] %q, want %q", idx, test.Value, err, test.Err)
continue
} else if got.String() != want {
t.Errorf("#%d: marshal(%#v) = [error] %q, want %q", idx, test.Value, got, want)
} }
if got, want := err.(*UnsupportedTypeError).Type.Kind(), test.ExpectKind; got != want { if kind := err.(*UnsupportedTypeError).Type.Kind(); kind != test.Kind {
t.Errorf("#%d: marshal(%#v) = [error kind] %s, want %s", idx, test.Value, got, want) t.Errorf("#%d: marshal(%#v) = [error kind] %s, want %s", idx, test.Value, kind, test.Kind)
} }
} }
} }
......
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