From 48a7b2e84057589be933b5182cded67c9885f8e8 Mon Sep 17 00:00:00 2001 From: "henrike@webrtc.org" Date: Tue, 2 Sep 2014 15:41:12 +0000 Subject: Create a copy of talk/xmllite under webrtc/xmllite. BUG=3379 R=andrew@webrtc.org Review URL: https://webrtc-codereview.appspot.com/22249004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@7027 4adac7df-926f-26a2-2b94-8c16560cd09d --- libjingle/xmllite/qname_unittest.cc | 114 ++++++++++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 libjingle/xmllite/qname_unittest.cc (limited to 'libjingle/xmllite/qname_unittest.cc') diff --git a/libjingle/xmllite/qname_unittest.cc b/libjingle/xmllite/qname_unittest.cc new file mode 100644 index 00000000..2a129b88 --- /dev/null +++ b/libjingle/xmllite/qname_unittest.cc @@ -0,0 +1,114 @@ +/* + * 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 +#include "webrtc/libjingle/xmllite/qname.h" +#include "webrtc/base/gunit.h" + +using buzz::StaticQName; +using buzz::QName; + +TEST(QNameTest, TestTrivial) { + QName name("test"); + EXPECT_EQ(name.LocalPart(), "test"); + EXPECT_EQ(name.Namespace(), ""); +} + +TEST(QNameTest, TestSplit) { + QName name("a:test"); + EXPECT_EQ(name.LocalPart(), "test"); + EXPECT_EQ(name.Namespace(), "a"); + QName name2("a-very:long:namespace:test-this"); + EXPECT_EQ(name2.LocalPart(), "test-this"); + EXPECT_EQ(name2.Namespace(), "a-very:long:namespace"); +} + +TEST(QNameTest, TestMerge) { + QName name("a", "test"); + EXPECT_EQ(name.LocalPart(), "test"); + EXPECT_EQ(name.Namespace(), "a"); + EXPECT_EQ(name.Merged(), "a:test"); + QName name2("a-very:long:namespace", "test-this"); + EXPECT_EQ(name2.LocalPart(), "test-this"); + EXPECT_EQ(name2.Namespace(), "a-very:long:namespace"); + EXPECT_EQ(name2.Merged(), "a-very:long:namespace:test-this"); +} + +TEST(QNameTest, TestAssignment) { + QName name("a", "test"); + // copy constructor + QName namecopy(name); + EXPECT_EQ(namecopy.LocalPart(), "test"); + EXPECT_EQ(namecopy.Namespace(), "a"); + QName nameassigned(""); + nameassigned = name; + EXPECT_EQ(nameassigned.LocalPart(), "test"); + EXPECT_EQ(nameassigned.Namespace(), "a"); +} + +TEST(QNameTest, TestConstAssignment) { + StaticQName name = { "a", "test" }; + QName namecopy(name); + EXPECT_EQ(namecopy.LocalPart(), "test"); + EXPECT_EQ(namecopy.Namespace(), "a"); + QName nameassigned(""); + nameassigned = name; + EXPECT_EQ(nameassigned.LocalPart(), "test"); + EXPECT_EQ(nameassigned.Namespace(), "a"); +} + +TEST(QNameTest, TestEquality) { + QName name("a-very:long:namespace:test-this"); + QName name2("a-very:long:namespace", "test-this"); + QName name3("a-very:long:namespaxe", "test-this"); + EXPECT_TRUE(name == name2); + EXPECT_FALSE(name == name3); +} + +TEST(QNameTest, TestCompare) { + QName name("a"); + QName name2("nsa", "a"); + QName name3("nsa", "b"); + QName name4("nsb", "b"); + + EXPECT_TRUE(name < name2); + EXPECT_FALSE(name2 < name); + + EXPECT_FALSE(name2 < name2); + + EXPECT_TRUE(name2 < name3); + EXPECT_FALSE(name3 < name2); + + EXPECT_TRUE(name3 < name4); + EXPECT_FALSE(name4 < name3); +} + +TEST(QNameTest, TestStaticQName) { + const StaticQName const_name1 = { "namespace", "local-name1" }; + const StaticQName const_name2 = { "namespace", "local-name2" }; + const QName name("namespace", "local-name1"); + const QName name1 = const_name1; + const QName name2 = const_name2; + + EXPECT_TRUE(name == const_name1); + EXPECT_TRUE(const_name1 == name); + EXPECT_FALSE(name != const_name1); + EXPECT_FALSE(const_name1 != name); + + EXPECT_TRUE(name == name1); + EXPECT_TRUE(name1 == name); + EXPECT_FALSE(name != name1); + EXPECT_FALSE(name1 != name); + + EXPECT_FALSE(name == name2); + EXPECT_FALSE(name2 == name); + EXPECT_TRUE(name != name2); + EXPECT_TRUE(name2 != name); +} -- cgit v1.2.3