Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / jingle / notifier / listener / xml_element_util_unittest.cc
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "jingle/notifier/listener/xml_element_util.h"
6
7 #include <sstream>
8 #include <string>
9
10 #include "base/memory/scoped_ptr.h"
11 #include "testing/gtest/include/gtest/gtest.h"
12 #include "third_party/webrtc/libjingle/xmllite/qname.h"
13 #include "third_party/webrtc/libjingle/xmllite/xmlelement.h"
14 #include "third_party/webrtc/libjingle/xmllite/xmlprinter.h"
15
16 namespace buzz {
17 class XmlElement;
18 }
19
20 namespace notifier {
21 namespace {
22
23 class XmlElementUtilTest : public testing::Test {};
24
25 TEST_F(XmlElementUtilTest, XmlElementToString) {
26   const buzz::QName kQName("namespace", "element");
27   const buzz::XmlElement kXmlElement(kQName, true);
28   std::ostringstream expected_xml_stream;
29   buzz::XmlPrinter::PrintXml(&expected_xml_stream, &kXmlElement);
30   EXPECT_EQ(expected_xml_stream.str(), XmlElementToString(kXmlElement));
31 }
32
33 TEST_F(XmlElementUtilTest, MakeBoolXmlElement) {
34   scoped_ptr<buzz::XmlElement> foo_false(
35       MakeBoolXmlElement("foo", false));
36   EXPECT_EQ("<foo xmlns=\"\" bool=\"false\"/>", XmlElementToString(*foo_false));
37
38   scoped_ptr<buzz::XmlElement> bar_true(
39       MakeBoolXmlElement("bar", true));
40   EXPECT_EQ("<bar xmlns=\"\" bool=\"true\"/>", XmlElementToString(*bar_true));
41 }
42
43 TEST_F(XmlElementUtilTest, MakeIntXmlElement) {
44   scoped_ptr<buzz::XmlElement> int_xml_element(
45       MakeIntXmlElement("foo", 35));
46   EXPECT_EQ("<foo xmlns=\"\" int=\"35\"/>",
47             XmlElementToString(*int_xml_element));
48 }
49
50 TEST_F(XmlElementUtilTest, MakeStringXmlElement) {
51   scoped_ptr<buzz::XmlElement> string_xml_element(
52       MakeStringXmlElement("foo", "bar"));
53   EXPECT_EQ("<foo xmlns=\"\" data=\"bar\"/>",
54             XmlElementToString(*string_xml_element));
55 }
56
57 }  // namespace
58 }  // namespace notifier