10e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org// Copyright 2004 Google Inc. All Rights Reserved 20e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org 30e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org 40e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org#include "talk/xmpp/jid.h" 5cf81adffe15fa8ea0f333432e41f6d504148f18abuildbot@webrtc.org#include "webrtc/base/gunit.h" 60e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org 70e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.orgusing buzz::Jid; 80e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org 90e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.orgTEST(JidTest, TestDomain) { 100e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org Jid jid("dude"); 110e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("", jid.node()); 120e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("dude", jid.domain()); 130e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("", jid.resource()); 140e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("dude", jid.Str()); 150e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("dude", jid.BareJid().Str()); 160e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_TRUE(jid.IsValid()); 170e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_TRUE(jid.IsBare()); 180e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_FALSE(jid.IsFull()); 190e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org} 200e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org 210e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.orgTEST(JidTest, TestNodeDomain) { 220e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org Jid jid("walter@dude"); 230e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("walter", jid.node()); 240e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("dude", jid.domain()); 250e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("", jid.resource()); 260e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("walter@dude", jid.Str()); 270e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("walter@dude", jid.BareJid().Str()); 280e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_TRUE(jid.IsValid()); 290e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_TRUE(jid.IsBare()); 300e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_FALSE(jid.IsFull()); 310e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org} 320e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org 330e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.orgTEST(JidTest, TestDomainResource) { 340e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org Jid jid("dude/bowlingalley"); 350e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("", jid.node()); 360e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("dude", jid.domain()); 370e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("bowlingalley", jid.resource()); 380e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("dude/bowlingalley", jid.Str()); 390e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("dude", jid.BareJid().Str()); 400e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_TRUE(jid.IsValid()); 410e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_FALSE(jid.IsBare()); 420e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_TRUE(jid.IsFull()); 430e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org} 440e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org 450e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.orgTEST(JidTest, TestNodeDomainResource) { 460e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org Jid jid("walter@dude/bowlingalley"); 470e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("walter", jid.node()); 480e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("dude", jid.domain()); 490e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("bowlingalley", jid.resource()); 500e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("walter@dude/bowlingalley", jid.Str()); 510e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("walter@dude", jid.BareJid().Str()); 520e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_TRUE(jid.IsValid()); 530e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_FALSE(jid.IsBare()); 540e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_TRUE(jid.IsFull()); 550e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org} 560e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org 570e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.orgTEST(JidTest, TestNode) { 580e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org Jid jid("walter@"); 590e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("", jid.node()); 600e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("", jid.domain()); 610e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("", jid.resource()); 620e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("", jid.Str()); 630e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("", jid.BareJid().Str()); 640e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_FALSE(jid.IsValid()); 650e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_TRUE(jid.IsBare()); 660e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_FALSE(jid.IsFull()); 670e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org} 680e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org 690e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.orgTEST(JidTest, TestResource) { 700e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org Jid jid("/bowlingalley"); 710e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("", jid.node()); 720e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("", jid.domain()); 730e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("", jid.resource()); 740e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("", jid.Str()); 750e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("", jid.BareJid().Str()); 760e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_FALSE(jid.IsValid()); 770e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_TRUE(jid.IsBare()); 780e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_FALSE(jid.IsFull()); 790e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org} 800e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org 810e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.orgTEST(JidTest, TestNodeResource) { 820e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org Jid jid("walter@/bowlingalley"); 830e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("", jid.node()); 840e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("", jid.domain()); 850e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("", jid.resource()); 860e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("", jid.Str()); 870e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("", jid.BareJid().Str()); 880e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_FALSE(jid.IsValid()); 890e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_TRUE(jid.IsBare()); 900e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_FALSE(jid.IsFull()); 910e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org} 920e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org 930e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.orgTEST(JidTest, TestFunky) { 940e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org Jid jid("bowling@muchat/walter@dude"); 950e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("bowling", jid.node()); 960e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("muchat", jid.domain()); 970e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("walter@dude", jid.resource()); 980e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("bowling@muchat/walter@dude", jid.Str()); 990e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("bowling@muchat", jid.BareJid().Str()); 1000e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_TRUE(jid.IsValid()); 1010e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_FALSE(jid.IsBare()); 1020e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_TRUE(jid.IsFull()); 1030e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org} 1040e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org 1050e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.orgTEST(JidTest, TestFunky2) { 1060e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org Jid jid("muchat/walter@dude"); 1070e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("", jid.node()); 1080e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("muchat", jid.domain()); 1090e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("walter@dude", jid.resource()); 1100e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("muchat/walter@dude", jid.Str()); 1110e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_EQ("muchat", jid.BareJid().Str()); 1120e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_TRUE(jid.IsValid()); 1130e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_FALSE(jid.IsBare()); 1140e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org EXPECT_TRUE(jid.IsFull()); 1150e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org} 116