Home | History | Annotate | Download | only in listener
      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
     59