23 if !jid.Set(str) { |
23 if !jid.Set(str) { |
24 t.Errorf("Set(%s) failed\n", str) |
24 t.Errorf("Set(%s) failed\n", str) |
25 } |
25 } |
26 assertEquals(t, "user", *jid.Node) |
26 assertEquals(t, "user", *jid.Node) |
27 assertEquals(t, "domain", jid.Domain) |
27 assertEquals(t, "domain", jid.Domain) |
28 assertEquals(t, "res", *jid.Resource) |
28 assertEquals(t, "res", jid.Resource) |
29 assertEquals(t, str, jid.String()) |
29 assertEquals(t, str, jid.String()) |
30 |
30 |
31 str = "domain.tld" |
31 str = "domain.tld" |
32 if !jid.Set(str) { |
32 if !jid.Set(str) { |
33 t.Errorf("Set(%s) failed\n", str) |
33 t.Errorf("Set(%s) failed\n", str) |
34 } |
34 } |
35 if jid.Node != nil { |
35 if jid.Node != nil { |
36 t.Errorf("Node: %v\n", *jid.Node) |
36 t.Errorf("Node: %v\n", *jid.Node) |
37 } |
37 } |
38 assertEquals(t, "domain.tld", jid.Domain) |
38 assertEquals(t, "domain.tld", jid.Domain) |
39 if jid.Resource != nil { |
39 if jid.Resource != "" { |
40 t.Errorf("Resource: %v\n", *jid.Resource) |
40 t.Errorf("Resource: %v\n", jid.Resource) |
41 } |
41 } |
42 assertEquals(t, str, jid.String()) |
42 assertEquals(t, str, jid.String()) |
43 } |
43 } |
44 |
44 |
45 func assertMarshal(t *testing.T, expected string, marshal interface{}) { |
45 func assertMarshal(t *testing.T, expected string, marshal interface{}) { |
79 exp = `<stream:error><ack xmlns="` + nsStreams + |
79 exp = `<stream:error><ack xmlns="` + nsStreams + |
80 `"></ack><text xmlns="` + nsStreams + |
80 `"></ack><text xmlns="` + nsStreams + |
81 `" xml:lang="pt">things happen</text></stream:error>` |
81 `" xml:lang="pt">things happen</text></stream:error>` |
82 assertMarshal(t, exp, e) |
82 assertMarshal(t, exp, e) |
83 } |
83 } |
|
84 |
|
85 func TestIqMarshal(t *testing.T) { |
|
86 iq := &Iq{Type: "set", Id: "3", Any: &Unrecognized{XMLName: |
|
87 xml.Name{Space: nsBind, Local: "bind"}}} |
|
88 exp := `<iq id="3" type="set"><bind xmlns="` + nsBind + |
|
89 `"></bind></iq>` |
|
90 assertMarshal(t, exp, iq) |
|
91 } |