1// Copyright 2004 Google Inc. All Rights Reserved
2
3
4#include "talk/base/gunit.h"
5#include "talk/xmpp/jid.h"
6
7using buzz::Jid;
8
9TEST(JidTest, TestDomain) {
10  Jid jid("dude");
11  EXPECT_EQ("", jid.node());
12  EXPECT_EQ("dude", jid.domain());
13  EXPECT_EQ("", jid.resource());
14  EXPECT_EQ("dude", jid.Str());
15  EXPECT_EQ("dude", jid.BareJid().Str());
16  EXPECT_TRUE(jid.IsValid());
17  EXPECT_TRUE(jid.IsBare());
18  EXPECT_FALSE(jid.IsFull());
19}
20
21TEST(JidTest, TestNodeDomain) {
22  Jid jid("walter@dude");
23  EXPECT_EQ("walter", jid.node());
24  EXPECT_EQ("dude", jid.domain());
25  EXPECT_EQ("", jid.resource());
26  EXPECT_EQ("walter@dude", jid.Str());
27  EXPECT_EQ("walter@dude", jid.BareJid().Str());
28  EXPECT_TRUE(jid.IsValid());
29  EXPECT_TRUE(jid.IsBare());
30  EXPECT_FALSE(jid.IsFull());
31}
32
33TEST(JidTest, TestDomainResource) {
34  Jid jid("dude/bowlingalley");
35  EXPECT_EQ("", jid.node());
36  EXPECT_EQ("dude", jid.domain());
37  EXPECT_EQ("bowlingalley", jid.resource());
38  EXPECT_EQ("dude/bowlingalley", jid.Str());
39  EXPECT_EQ("dude", jid.BareJid().Str());
40  EXPECT_TRUE(jid.IsValid());
41  EXPECT_FALSE(jid.IsBare());
42  EXPECT_TRUE(jid.IsFull());
43}
44
45TEST(JidTest, TestNodeDomainResource) {
46  Jid jid("walter@dude/bowlingalley");
47  EXPECT_EQ("walter", jid.node());
48  EXPECT_EQ("dude", jid.domain());
49  EXPECT_EQ("bowlingalley", jid.resource());
50  EXPECT_EQ("walter@dude/bowlingalley", jid.Str());
51  EXPECT_EQ("walter@dude", jid.BareJid().Str());
52  EXPECT_TRUE(jid.IsValid());
53  EXPECT_FALSE(jid.IsBare());
54  EXPECT_TRUE(jid.IsFull());
55}
56
57TEST(JidTest, TestNode) {
58  Jid jid("walter@");
59  EXPECT_EQ("", jid.node());
60  EXPECT_EQ("", jid.domain());
61  EXPECT_EQ("", jid.resource());
62  EXPECT_EQ("", jid.Str());
63  EXPECT_EQ("", jid.BareJid().Str());
64  EXPECT_FALSE(jid.IsValid());
65  EXPECT_TRUE(jid.IsBare());
66  EXPECT_FALSE(jid.IsFull());
67}
68
69TEST(JidTest, TestResource) {
70  Jid jid("/bowlingalley");
71  EXPECT_EQ("", jid.node());
72  EXPECT_EQ("", jid.domain());
73  EXPECT_EQ("", jid.resource());
74  EXPECT_EQ("", jid.Str());
75  EXPECT_EQ("", jid.BareJid().Str());
76  EXPECT_FALSE(jid.IsValid());
77  EXPECT_TRUE(jid.IsBare());
78  EXPECT_FALSE(jid.IsFull());
79}
80
81TEST(JidTest, TestNodeResource) {
82  Jid jid("walter@/bowlingalley");
83  EXPECT_EQ("", jid.node());
84  EXPECT_EQ("", jid.domain());
85  EXPECT_EQ("", jid.resource());
86  EXPECT_EQ("", jid.Str());
87  EXPECT_EQ("", jid.BareJid().Str());
88  EXPECT_FALSE(jid.IsValid());
89  EXPECT_TRUE(jid.IsBare());
90  EXPECT_FALSE(jid.IsFull());
91}
92
93TEST(JidTest, TestFunky) {
94  Jid jid("bowling@muchat/walter@dude");
95  EXPECT_EQ("bowling", jid.node());
96  EXPECT_EQ("muchat", jid.domain());
97  EXPECT_EQ("walter@dude", jid.resource());
98  EXPECT_EQ("bowling@muchat/walter@dude", jid.Str());
99  EXPECT_EQ("bowling@muchat", jid.BareJid().Str());
100  EXPECT_TRUE(jid.IsValid());
101  EXPECT_FALSE(jid.IsBare());
102  EXPECT_TRUE(jid.IsFull());
103}
104
105TEST(JidTest, TestFunky2) {
106  Jid jid("muchat/walter@dude");
107  EXPECT_EQ("", jid.node());
108  EXPECT_EQ("muchat", jid.domain());
109  EXPECT_EQ("walter@dude", jid.resource());
110  EXPECT_EQ("muchat/walter@dude", jid.Str());
111  EXPECT_EQ("muchat", jid.BareJid().Str());
112  EXPECT_TRUE(jid.IsValid());
113  EXPECT_FALSE(jid.IsBare());
114  EXPECT_TRUE(jid.IsFull());
115}
116