equal
deleted
inserted
replaced
12 ) |
12 ) |
13 |
13 |
14 // This is mostly just tests of the roster data structures. |
14 // This is mostly just tests of the roster data structures. |
15 |
15 |
16 func TestRosterIqMarshal(t *testing.T) { |
16 func TestRosterIqMarshal(t *testing.T) { |
17 iq := &Iq{From: "from", Lang: "en", Nested: |
17 iq := &Iq{From: "from", Lang: "en", Nested: []interface{}{RosterQuery{}}} |
18 []interface{}{RosterQuery{}}} |
|
19 exp := `<iq from="from" xml:lang="en"><query xmlns="` + |
18 exp := `<iq from="from" xml:lang="en"><query xmlns="` + |
20 NsRoster + `"></query></iq>` |
19 NsRoster + `"></query></iq>` |
21 assertMarshal(t, exp, iq) |
20 assertMarshal(t, exp, iq) |
22 } |
21 } |
23 |
22 |
25 str := `<iq from="from" xml:lang="en"><query xmlns="` + |
24 str := `<iq from="from" xml:lang="en"><query xmlns="` + |
26 NsRoster + `"><item jid="a@b.c"/></query></iq>` |
25 NsRoster + `"><item jid="a@b.c"/></query></iq>` |
27 r := strings.NewReader(str) |
26 r := strings.NewReader(str) |
28 var st Stanza = &Iq{} |
27 var st Stanza = &Iq{} |
29 xml.Unmarshal(r, st) |
28 xml.Unmarshal(r, st) |
30 m := map[string] func(*xml.Name) interface{}{NsRoster: newRosterQuery} |
29 m := map[string]func(*xml.Name) interface{}{NsRoster: newRosterQuery} |
31 err := parseExtended(st, m) |
30 err := parseExtended(st, m) |
32 if err != nil { |
31 if err != nil { |
33 t.Fatalf("parseExtended: %v", err) |
32 t.Fatalf("parseExtended: %v", err) |
34 } |
33 } |
35 assertEquals(t, "iq", st.GetName()) |
34 assertEquals(t, "iq", st.GetName()) |