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