xmpp/roster_test.go
changeset 128 8342afcffc92
parent 126 367e76b3028e
child 142 0ff033eed887
equal deleted inserted replaced
127:a8f9a0c07fc8 128:8342afcffc92
    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 	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 := make(map[xml.Name]reflect.Type)
       
    29 	name := xml.Name{Space: NsRoster, Local: "query"}
       
    30 	m[name] = reflect.TypeOf(RosterQuery{})
    29 	err := parseExtended(&iq.Header, m)
    31 	err := parseExtended(&iq.Header, m)
    30 	if err != nil {
    32 	if err != nil {
    31 		t.Fatalf("parseExtended: %v", err)
    33 		t.Fatalf("parseExtended: %v", err)
    32 	}
    34 	}
    33 	assertEquals(t, "iq", iq.XMLName.Local)
    35 	assertEquals(t, "iq", iq.XMLName.Local)