/* * Copyright 2004 The WebRTC Project Authors. All rights reserved. * * Use of this source code is governed by a BSD-style license * that can be found in the LICENSE file in the root of the source * tree. An additional intellectual property rights grant can be found * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree. */ #include "webrtc/libjingle/xmpp/jid.h" #include "webrtc/base/gunit.h" using buzz::Jid; TEST(JidTest, TestDomain) { Jid jid("dude"); EXPECT_EQ("", jid.node()); EXPECT_EQ("dude", jid.domain()); EXPECT_EQ("", jid.resource()); EXPECT_EQ("dude", jid.Str()); EXPECT_EQ("dude", jid.BareJid().Str()); EXPECT_TRUE(jid.IsValid()); EXPECT_TRUE(jid.IsBare()); EXPECT_FALSE(jid.IsFull()); } TEST(JidTest, TestNodeDomain) { Jid jid("walter@dude"); EXPECT_EQ("walter", jid.node()); EXPECT_EQ("dude", jid.domain()); EXPECT_EQ("", jid.resource()); EXPECT_EQ("walter@dude", jid.Str()); EXPECT_EQ("walter@dude", jid.BareJid().Str()); EXPECT_TRUE(jid.IsValid()); EXPECT_TRUE(jid.IsBare()); EXPECT_FALSE(jid.IsFull()); } TEST(JidTest, TestDomainResource) { Jid jid("dude/bowlingalley"); EXPECT_EQ("", jid.node()); EXPECT_EQ("dude", jid.domain()); EXPECT_EQ("bowlingalley", jid.resource()); EXPECT_EQ("dude/bowlingalley", jid.Str()); EXPECT_EQ("dude", jid.BareJid().Str()); EXPECT_TRUE(jid.IsValid()); EXPECT_FALSE(jid.IsBare()); EXPECT_TRUE(jid.IsFull()); } TEST(JidTest, TestNodeDomainResource) { Jid jid("walter@dude/bowlingalley"); EXPECT_EQ("walter", jid.node()); EXPECT_EQ("dude", jid.domain()); EXPECT_EQ("bowlingalley", jid.resource()); EXPECT_EQ("walter@dude/bowlingalley", jid.Str()); EXPECT_EQ("walter@dude", jid.BareJid().Str()); EXPECT_TRUE(jid.IsValid()); EXPECT_FALSE(jid.IsBare()); EXPECT_TRUE(jid.IsFull()); } TEST(JidTest, TestNode) { Jid jid("walter@"); EXPECT_EQ("", jid.node()); EXPECT_EQ("", jid.domain()); EXPECT_EQ("", jid.resource()); EXPECT_EQ("", jid.Str()); EXPECT_EQ("", jid.BareJid().Str()); EXPECT_FALSE(jid.IsValid()); EXPECT_TRUE(jid.IsBare()); EXPECT_FALSE(jid.IsFull()); } TEST(JidTest, TestResource) { Jid jid("/bowlingalley"); EXPECT_EQ("", jid.node()); EXPECT_EQ("", jid.domain()); EXPECT_EQ("", jid.resource()); EXPECT_EQ("", jid.Str()); EXPECT_EQ("", jid.BareJid().Str()); EXPECT_FALSE(jid.IsValid()); EXPECT_TRUE(jid.IsBare()); EXPECT_FALSE(jid.IsFull()); } TEST(JidTest, TestNodeResource) { Jid jid("walter@/bowlingalley"); EXPECT_EQ("", jid.node()); EXPECT_EQ("", jid.domain()); EXPECT_EQ("", jid.resource()); EXPECT_EQ("", jid.Str()); EXPECT_EQ("", jid.BareJid().Str()); EXPECT_FALSE(jid.IsValid()); EXPECT_TRUE(jid.IsBare()); EXPECT_FALSE(jid.IsFull()); } TEST(JidTest, TestFunky) { Jid jid("bowling@muchat/walter@dude"); EXPECT_EQ("bowling", jid.node()); EXPECT_EQ("muchat", jid.domain()); EXPECT_EQ("walter@dude", jid.resource()); EXPECT_EQ("bowling@muchat/walter@dude", jid.Str()); EXPECT_EQ("bowling@muchat", jid.BareJid().Str()); EXPECT_TRUE(jid.IsValid()); EXPECT_FALSE(jid.IsBare()); EXPECT_TRUE(jid.IsFull()); } TEST(JidTest, TestFunky2) { Jid jid("muchat/walter@dude"); EXPECT_EQ("", jid.node()); EXPECT_EQ("muchat", jid.domain()); EXPECT_EQ("walter@dude", jid.resource()); EXPECT_EQ("muchat/walter@dude", jid.Str()); EXPECT_EQ("muchat", jid.BareJid().Str()); EXPECT_TRUE(jid.IsValid()); EXPECT_FALSE(jid.IsBare()); EXPECT_TRUE(jid.IsFull()); }