123 r := strings.NewReader(str) |
123 r := strings.NewReader(str) |
124 ch := make(chan interface{}) |
124 ch := make(chan interface{}) |
125 go readXml(r, ch, make(map[string]func(*xml.Name) interface{})) |
125 go readXml(r, ch, make(map[string]func(*xml.Name) interface{})) |
126 obs := <-ch |
126 obs := <-ch |
127 exp := &Message{XMLName: xml.Name{Local: "message", Space: "jabber:client"}, |
127 exp := &Message{XMLName: xml.Name{Local: "message", Space: "jabber:client"}, |
128 Header: Header{To:"a@b.c", Innerxml: "<body>foo!</body>"}, |
128 Header: Header{To: "a@b.c", Innerxml: "<body>foo!</body>"}, |
129 Body: &Generic{XMLName: xml.Name{Local: "body", Space: "jabber:client"}, |
129 Body: &Generic{XMLName: xml.Name{Local: "body", Space: "jabber:client"}, |
130 Chardata: "foo!"}} |
130 Chardata: "foo!"}} |
131 if !reflect.DeepEqual(obs, exp) { |
131 if !reflect.DeepEqual(obs, exp) { |
132 t.Errorf("read %s\ngot: %#v\nwant: %#v\n", str, obs, exp) |
132 t.Errorf("read %s\ngot: %#v\nwant: %#v\n", str, obs, exp) |
133 } |
133 } |