23 func TestRosterIqUnmarshal(t *testing.T) { |
23 func TestRosterIqUnmarshal(t *testing.T) { |
24 str := `<iq from="from" xml:lang="en"><query xmlns="` + |
24 str := `<iq from="from" xml:lang="en"><query xmlns="` + |
25 NsRoster + `"><item jid="a@b.c"/></query></iq>` |
25 NsRoster + `"><item jid="a@b.c"/></query></iq>` |
26 r := strings.NewReader(str) |
26 r := strings.NewReader(str) |
27 var st Stanza = &Iq{} |
27 var st Stanza = &Iq{} |
28 xml.Unmarshal(r, st) |
28 err := xml.Unmarshal(r, st) |
|
29 if err != nil { |
|
30 t.Fatalf("Unmarshal: %v", err) |
|
31 } |
|
32 assertEquals(t, "from", st.GetFrom()) |
29 m := map[string]func(*xml.Name) interface{}{NsRoster: newRosterQuery} |
33 m := map[string]func(*xml.Name) interface{}{NsRoster: newRosterQuery} |
30 err := parseExtended(st, m) |
34 err = parseExtended(st, m) |
31 if err != nil { |
35 if err != nil { |
32 t.Fatalf("parseExtended: %v", err) |
36 t.Fatalf("parseExtended: %v", err) |
33 } |
37 } |
34 assertEquals(t, "iq", st.GetName()) |
38 assertEquals(t, "iq", st.GetName()) |
35 assertEquals(t, "from", st.GetFrom()) |
39 assertEquals(t, "from", st.GetFrom()) |