equal
deleted
inserted
replaced
11 ) |
11 ) |
12 |
12 |
13 // This is mostly just tests of the roster data structures. |
13 // This is mostly just tests of the roster data structures. |
14 |
14 |
15 func TestRosterIqMarshal(t *testing.T) { |
15 func TestRosterIqMarshal(t *testing.T) { |
16 iq := &Iq{From: "from", Lang: "en", |
16 iq := &Iq{Stanza: Stanza{From: "from", Lang: "en", |
17 Nested: []interface{}{RosterQuery{}}} |
17 Nested: []interface{}{RosterQuery{}}}} |
18 exp := `<iq from="from" xml:lang="en"><query xmlns="` + |
18 exp := `<iq from="from" xml:lang="en"><query xmlns="` + |
19 NsRoster + `"></query></iq>` |
19 NsRoster + `"></query></iq>` |
20 assertMarshal(t, exp, iq) |
20 assertMarshal(t, exp, iq) |
21 } |
21 } |
22 |
22 |
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 iq := Iq{} |
26 iq := Iq{} |
27 xml.Unmarshal([]byte(str), &iq) |
27 xml.Unmarshal([]byte(str), &iq) |
28 m := map[string]func(*xml.Name) interface{}{NsRoster: newRosterQuery} |
28 m := map[string]func(*xml.Name) interface{}{NsRoster: newRosterQuery} |
29 err := parseExtended(&iq, m) |
29 err := parseExtended(&iq.Stanza, m) |
30 if err != nil { |
30 if err != nil { |
31 t.Fatalf("parseExtended: %v", err) |
31 t.Fatalf("parseExtended: %v", err) |
32 } |
32 } |
33 assertEquals(t, "iq", iq.XMLName.Local) |
33 assertEquals(t, "iq", iq.XMLName.Local) |
34 assertEquals(t, "from", iq.From) |
34 assertEquals(t, "from", iq.From) |