roster_test.go
branchgo.weekly.2012-01-15
changeset 93 fbd51fa6b7ea
parent 75 03a923eb5c01
child 95 6eac4867d095
equal deleted inserted replaced
87:d19b556d4ea6 93:fbd51fa6b7ea
     5 package xmpp
     5 package xmpp
     6 
     6 
     7 import (
     7 import (
     8 	"encoding/xml"
     8 	"encoding/xml"
     9 	"reflect"
     9 	"reflect"
    10 	"strings"
       
    11 	"testing"
    10 	"testing"
    12 )
    11 )
    13 
    12 
    14 // This is mostly just tests of the roster data structures.
    13 // This is mostly just tests of the roster data structures.
    15 
    14 
    21 }
    20 }
    22 
    21 
    23 func TestRosterIqUnmarshal(t *testing.T) {
    22 func TestRosterIqUnmarshal(t *testing.T) {
    24 	str := `<iq from="from" xml:lang="en"><query xmlns="` +
    23 	str := `<iq from="from" xml:lang="en"><query xmlns="` +
    25 		NsRoster + `"><item jid="a@b.c"/></query></iq>`
    24 		NsRoster + `"><item jid="a@b.c"/></query></iq>`
    26 	r := strings.NewReader(str)
       
    27 	var st Stanza = &Iq{}
    25 	var st Stanza = &Iq{}
    28 	err := xml.Unmarshal(r, st)
    26 	err := xml.Unmarshal([]byte(str), st)
    29 	if err != nil {
    27 	if err != nil {
    30 		t.Fatalf("Unmarshal: %v", err)
    28 		t.Fatalf("Unmarshal: %v", err)
    31 	}
    29 	}
    32 	assertEquals(t, "from", st.GetFrom())
    30 	assertEquals(t, "from", st.GetFrom())
    33 	m := map[string]func(*xml.Name) interface{}{NsRoster: newRosterQuery}
    31 	m := map[string]func(*xml.Name) interface{}{NsRoster: newRosterQuery}