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.
5 #include "jingle/notifier/listener/xml_element_util.h"
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"
23 class XmlElementUtilTest : public testing::Test {};
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));
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));
38 scoped_ptr<buzz::XmlElement> bar_true(
39 MakeBoolXmlElement("bar", true));
40 EXPECT_EQ("<bar xmlns=\"\" bool=\"true\"/>", XmlElementToString(*bar_true));
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));
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));
58 } // namespace notifier