1package mxj
2
3import (
4	"bytes"
5	"fmt"
6	"io"
7	"testing"
8)
9
10func TestXMPPStreamTag(t *testing.T) {
11	fmt.Println("----------- TestXMPPStreamTag ...")
12	var data = `
13<stream:stream
14    from='example.com'
15    xmlns="jabber:client"
16    xmlns:stream="http://etherx.jabber.org/streams"
17    version="1.0">
18<stream:features>
19  <bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/>
20  <sm xmlns="urn:xmpp:sm:3"/>
21</stream:features>
22<stream:stream>`
23
24	HandleXMPPStreamTag()
25	defer HandleXMPPStreamTag()
26	buf := bytes.NewBufferString(data)
27	for {
28		m, raw, err := NewMapXmlReaderRaw(buf)
29		if err == io.EOF {
30			break
31		}
32		if err != nil {
33			t.Fatal("err:", err)
34		}
35		fmt.Println(string(raw))
36		fmt.Println(m)
37	}
38}
39
40func TestXMPPStreamTagSeq(t *testing.T) {
41	fmt.Println("----------- TestXMPPStreamTagSeq ...")
42	var data = `
43<stream:stream
44    from='example.com'
45    xmlns="jabber:client"
46    xmlns:stream="http://etherx.jabber.org/streams"
47    version="1.0">
48<stream:features>
49  <bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/>
50  <sm xmlns="urn:xmpp:sm:3"/>
51</stream:features>
52<stream:stream>`
53
54	HandleXMPPStreamTag()
55	defer HandleXMPPStreamTag()
56	buf := bytes.NewBufferString(data)
57	for {
58		m, raw, err := NewMapXmlSeqReaderRaw(buf)
59		if err == io.EOF {
60			break
61		}
62		if err != nil {
63			t.Fatal("err:", err)
64		}
65		fmt.Println(string(raw))
66		fmt.Println(m)
67	}
68}
69