xmpp_test.go
changeset 34 7b1f924c75e2
parent 31 1dc47df5c99f
child 36 9fe022261dcc
equal deleted inserted replaced
33:571713f49494 34:7b1f924c75e2
    27 	if se.Text != nil {
    27 	if se.Text != nil {
    28 		t.Errorf("text not nil: %v", se.Text)
    28 		t.Errorf("text not nil: %v", se.Text)
    29 	}
    29 	}
    30 
    30 
    31 	r = strings.NewReader(`<stream:error><bad-foo/>` +
    31 	r = strings.NewReader(`<stream:error><bad-foo/>` +
    32 		`<text xml:lang="en" xmlns="` + nsStreams +
    32 		`<text xml:lang="en" xmlns="` + NsStreams +
    33 		`">Error text</text></stream:error>`)
    33 		`">Error text</text></stream:error>`)
    34 	ch = make(chan interface{})
    34 	ch = make(chan interface{})
    35 	go readXml(r, ch)
    35 	go readXml(r, ch)
    36 	x = <- ch
    36 	x = <- ch
    37 	se, ok = x.(*streamError)
    37 	se, ok = x.(*streamError)
    45 }
    45 }
    46 
    46 
    47 func TestReadStream(t *testing.T) {
    47 func TestReadStream(t *testing.T) {
    48 	r := strings.NewReader(`<stream:stream to="foo.com" ` +
    48 	r := strings.NewReader(`<stream:stream to="foo.com" ` +
    49 		`from="bar.org" id="42"` +
    49 		`from="bar.org" id="42"` +
    50 		`xmlns="jabber:client" xmlns:stream="` + nsStream +
    50 		`xmlns="jabber:client" xmlns:stream="` + NsStream +
    51 		`" version="1.0">`)
    51 		`" version="1.0">`)
    52 	ch := make(chan interface{})
    52 	ch := make(chan interface{})
    53 	go readXml(r, ch)
    53 	go readXml(r, ch)
    54 	x := <- ch
    54 	x := <- ch
    55 	ss, ok := x.(*stream)
    55 	ss, ok := x.(*stream)
    83 	str := testWrite(se)
    83 	str := testWrite(se)
    84 	exp := `<stream:error><blah></blah></stream:error>`
    84 	exp := `<stream:error><blah></blah></stream:error>`
    85 	assertEquals(t, exp, str)
    85 	assertEquals(t, exp, str)
    86 
    86 
    87 	se = &streamError{Any: Generic{XMLName: xml.Name{Space:
    87 	se = &streamError{Any: Generic{XMLName: xml.Name{Space:
    88 				nsStreams, Local: "foo"}}, Text:
    88 				NsStreams, Local: "foo"}}, Text:
    89 		&errText{Lang: "ru", Text: "Пошёл ты"}}
    89 		&errText{Lang: "ru", Text: "Пошёл ты"}}
    90 	str = testWrite(se)
    90 	str = testWrite(se)
    91 	exp = `<stream:error><foo xmlns="` + nsStreams +
    91 	exp = `<stream:error><foo xmlns="` + NsStreams +
    92 		`"></foo><text xmlns="` + nsStreams +
    92 		`"></foo><text xmlns="` + NsStreams +
    93 		`" xml:lang="ru">Пошёл ты</text></stream:error>`
    93 		`" xml:lang="ru">Пошёл ты</text></stream:error>`
    94 	assertEquals(t, exp, str)
    94 	assertEquals(t, exp, str)
    95 }
    95 }
    96 
    96 
    97 func TestWriteStream(t *testing.T) {
    97 func TestWriteStream(t *testing.T) {
    98 	ss := &stream{To: "foo.org", From: "bar.com", Id: "42", Lang:
    98 	ss := &stream{To: "foo.org", From: "bar.com", Id: "42", Lang:
    99 		"en", Version: "1.0"}
    99 		"en", Version: "1.0"}
   100 	str := testWrite(ss)
   100 	str := testWrite(ss)
   101 	exp := `<stream:stream xmlns="jabber:client"` +
   101 	exp := `<stream:stream xmlns="jabber:client"` +
   102 		` xmlns:stream="` + nsStream + `" to="foo.org"` +
   102 		` xmlns:stream="` + NsStream + `" to="foo.org"` +
   103 		` from="bar.com" id="42" xml:lang="en" version="1.0">`
   103 		` from="bar.com" id="42" xml:lang="en" version="1.0">`
   104 	assertEquals(t, exp, str)
   104 	assertEquals(t, exp, str)
   105 }
   105 }