xmpp_test.go
changeset 31 1dc47df5c99f
parent 24 fff79efe06f6
child 34 7b1f924c75e2
equal deleted inserted replaced
30:a77fc342e013 31:1dc47df5c99f
    16 func TestReadError(t *testing.T) {
    16 func TestReadError(t *testing.T) {
    17 	r := strings.NewReader(`<stream:error><bad-foo/></stream:error>`)
    17 	r := strings.NewReader(`<stream:error><bad-foo/></stream:error>`)
    18 	ch := make(chan interface{})
    18 	ch := make(chan interface{})
    19 	go readXml(r, ch)
    19 	go readXml(r, ch)
    20 	x := <- ch
    20 	x := <- ch
    21 	se, ok := x.(*StreamError)
    21 	se, ok := x.(*streamError)
    22 	if !ok {
    22 	if !ok {
    23 		t.Fatalf("not StreamError: %v", reflect.TypeOf(x))
    23 		t.Fatalf("not StreamError: %v", reflect.TypeOf(x))
    24 	}
    24 	}
    25 	assertEquals(t, "bad-foo", se.Any.XMLName.Local)
    25 	assertEquals(t, "bad-foo", se.Any.XMLName.Local)
    26 	assertEquals(t, "", se.Any.XMLName.Space)
    26 	assertEquals(t, "", se.Any.XMLName.Space)
    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)
    38 	if !ok {
    38 	if !ok {
    39 		t.Fatalf("not StreamError: %v", reflect.TypeOf(x))
    39 		t.Fatalf("not StreamError: %v", reflect.TypeOf(x))
    40 	}
    40 	}
    41 	assertEquals(t, "bad-foo", se.Any.XMLName.Local)
    41 	assertEquals(t, "bad-foo", se.Any.XMLName.Local)
    42 	assertEquals(t, "", se.Any.XMLName.Space)
    42 	assertEquals(t, "", se.Any.XMLName.Space)
    76 	wg.Wait()
    76 	wg.Wait()
    77 	return w.String()
    77 	return w.String()
    78 }
    78 }
    79 
    79 
    80 func TestWriteError(t *testing.T) {
    80 func TestWriteError(t *testing.T) {
    81 	se := &StreamError{Any: Generic{XMLName: xml.Name{Local:
    81 	se := &streamError{Any: Generic{XMLName: xml.Name{Local:
    82 				"blah"}}}
    82 				"blah"}}}
    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 +