mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Introduce CefString and cef_string_t implementations that support string type conversions and customization of the API string type (issue #146).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@145 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
@ -40,40 +40,40 @@ TEST(XmlReaderTest, Read)
|
||||
// Create the XML reader.
|
||||
CefRefPtr<CefXmlReader> reader(
|
||||
CefXmlReader::Create(stream, XML_ENCODING_NONE,
|
||||
L"http://www.example.org/example.xml"));
|
||||
"http://www.example.org/example.xml"));
|
||||
ASSERT_TRUE(reader.get() != NULL);
|
||||
|
||||
// Move to the processing instruction node.
|
||||
ASSERT_TRUE(reader->MoveToNextNode());
|
||||
ASSERT_EQ(reader->GetDepth(), 0);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_PROCESSING_INSTRUCTION);
|
||||
ASSERT_EQ(reader->GetLocalName(), L"my_instruction");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"my_instruction");
|
||||
ASSERT_EQ(reader->GetLocalName(), "my_instruction");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "my_instruction");
|
||||
ASSERT_TRUE(reader->HasValue());
|
||||
ASSERT_EQ(reader->GetValue(), L"my_value");
|
||||
ASSERT_EQ(reader->GetValue(), "my_value");
|
||||
|
||||
// Move to the DOCTYPE node.
|
||||
ASSERT_TRUE(reader->MoveToNextNode());
|
||||
ASSERT_EQ(reader->GetDepth(), 0);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_DOCUMENT_TYPE);
|
||||
ASSERT_EQ(reader->GetLocalName(), L"my_document");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"my_document");
|
||||
ASSERT_EQ(reader->GetLocalName(), "my_document");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "my_document");
|
||||
ASSERT_FALSE(reader->HasValue());
|
||||
|
||||
// Move to ns:obj element start node.
|
||||
ASSERT_TRUE(reader->MoveToNextNode());
|
||||
ASSERT_EQ(reader->GetDepth(), 0);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_ELEMENT_START);
|
||||
ASSERT_EQ(reader->GetLocalName(), L"obj");
|
||||
ASSERT_EQ(reader->GetPrefix(), L"ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"ns:obj");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), L"http://www.example.org/ns");
|
||||
ASSERT_EQ(reader->GetLocalName(), "obj");
|
||||
ASSERT_EQ(reader->GetPrefix(), "ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "ns:obj");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), "http://www.example.org/ns");
|
||||
ASSERT_TRUE(reader->HasAttributes());
|
||||
ASSERT_EQ(reader->GetAttributeCount(), (size_t)1);
|
||||
ASSERT_EQ(reader->GetAttribute(0), L"http://www.example.org/ns");
|
||||
ASSERT_EQ(reader->GetAttribute(L"xmlns:ns"), L"http://www.example.org/ns");
|
||||
ASSERT_EQ(reader->GetAttribute(L"ns", L"http://www.w3.org/2000/xmlns/"),
|
||||
L"http://www.example.org/ns");
|
||||
ASSERT_EQ(reader->GetAttribute(0), "http://www.example.org/ns");
|
||||
ASSERT_EQ(reader->GetAttribute("xmlns:ns"), "http://www.example.org/ns");
|
||||
ASSERT_EQ(reader->GetAttribute("ns", "http://www.w3.org/2000/xmlns/"),
|
||||
"http://www.example.org/ns");
|
||||
|
||||
// Move to the whitespace node.
|
||||
ASSERT_TRUE(reader->MoveToNextNode());
|
||||
@ -83,10 +83,10 @@ TEST(XmlReaderTest, Read)
|
||||
ASSERT_TRUE(reader->MoveToNextNode());
|
||||
ASSERT_EQ(reader->GetDepth(), 1);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_ELEMENT_START);
|
||||
ASSERT_EQ(reader->GetLocalName(), L"objA");
|
||||
ASSERT_EQ(reader->GetPrefix(), L"ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"ns:objA");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), L"http://www.example.org/ns");
|
||||
ASSERT_EQ(reader->GetLocalName(), "objA");
|
||||
ASSERT_EQ(reader->GetPrefix(), "ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "ns:objA");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), "http://www.example.org/ns");
|
||||
ASSERT_FALSE(reader->IsEmptyElement());
|
||||
ASSERT_FALSE(reader->HasAttributes());
|
||||
ASSERT_FALSE(reader->HasValue());
|
||||
@ -95,19 +95,19 @@ TEST(XmlReaderTest, Read)
|
||||
ASSERT_TRUE(reader->MoveToNextNode());
|
||||
ASSERT_EQ(reader->GetDepth(), 2);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_TEXT);
|
||||
ASSERT_EQ(reader->GetLocalName(), L"#text");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"#text");
|
||||
ASSERT_EQ(reader->GetLocalName(), "#text");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "#text");
|
||||
ASSERT_TRUE(reader->HasValue());
|
||||
ASSERT_EQ(reader->GetValue(), L"value A");
|
||||
ASSERT_EQ(reader->GetValue(), "value A");
|
||||
|
||||
// Move to the ns:objA element ending node.
|
||||
ASSERT_TRUE(reader->MoveToNextNode());
|
||||
ASSERT_EQ(reader->GetDepth(), 1);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_ELEMENT_END);
|
||||
ASSERT_EQ(reader->GetLocalName(), L"objA");
|
||||
ASSERT_EQ(reader->GetPrefix(), L"ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"ns:objA");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), L"http://www.example.org/ns");
|
||||
ASSERT_EQ(reader->GetLocalName(), "objA");
|
||||
ASSERT_EQ(reader->GetPrefix(), "ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "ns:objA");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), "http://www.example.org/ns");
|
||||
ASSERT_FALSE(reader->IsEmptyElement());
|
||||
ASSERT_FALSE(reader->HasAttributes());
|
||||
ASSERT_FALSE(reader->HasValue());
|
||||
@ -121,10 +121,10 @@ TEST(XmlReaderTest, Read)
|
||||
ASSERT_TRUE(reader->MoveToNextNode());
|
||||
ASSERT_EQ(reader->GetDepth(), 1);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_COMMENT);
|
||||
ASSERT_EQ(reader->GetLocalName(), L"#comment");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"#comment");
|
||||
ASSERT_EQ(reader->GetLocalName(), "#comment");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "#comment");
|
||||
ASSERT_TRUE(reader->HasValue());
|
||||
ASSERT_EQ(reader->GetValue(), L" my comment ");
|
||||
ASSERT_EQ(reader->GetValue(), " my comment ");
|
||||
|
||||
// Move to the whitespace node.
|
||||
ASSERT_TRUE(reader->MoveToNextNode());
|
||||
@ -134,10 +134,10 @@ TEST(XmlReaderTest, Read)
|
||||
ASSERT_TRUE(reader->MoveToNextNode());
|
||||
ASSERT_EQ(reader->GetDepth(), 1);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_ELEMENT_START);
|
||||
ASSERT_EQ(reader->GetLocalName(), L"objB");
|
||||
ASSERT_EQ(reader->GetPrefix(), L"ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"ns:objB");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), L"http://www.example.org/ns");
|
||||
ASSERT_EQ(reader->GetLocalName(), "objB");
|
||||
ASSERT_EQ(reader->GetPrefix(), "ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "ns:objB");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), "http://www.example.org/ns");
|
||||
ASSERT_FALSE(reader->IsEmptyElement());
|
||||
ASSERT_FALSE(reader->HasAttributes());
|
||||
ASSERT_FALSE(reader->HasValue());
|
||||
@ -150,10 +150,10 @@ TEST(XmlReaderTest, Read)
|
||||
ASSERT_TRUE(reader->MoveToNextNode());
|
||||
ASSERT_EQ(reader->GetDepth(), 2);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_ELEMENT_START);
|
||||
ASSERT_EQ(reader->GetLocalName(), L"objB_1");
|
||||
ASSERT_EQ(reader->GetPrefix(), L"ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"ns:objB_1");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), L"http://www.example.org/ns");
|
||||
ASSERT_EQ(reader->GetLocalName(), "objB_1");
|
||||
ASSERT_EQ(reader->GetPrefix(), "ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "ns:objB_1");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), "http://www.example.org/ns");
|
||||
ASSERT_FALSE(reader->IsEmptyElement());
|
||||
ASSERT_FALSE(reader->HasAttributes());
|
||||
ASSERT_FALSE(reader->HasValue());
|
||||
@ -163,16 +163,16 @@ TEST(XmlReaderTest, Read)
|
||||
ASSERT_EQ(reader->GetDepth(), 3);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_TEXT);
|
||||
ASSERT_TRUE(reader->HasValue());
|
||||
ASSERT_EQ(reader->GetValue(), L"value B1");
|
||||
ASSERT_EQ(reader->GetValue(), "value B1");
|
||||
|
||||
// Move to the ns:objB_1 element ending node.
|
||||
ASSERT_TRUE(reader->MoveToNextNode());
|
||||
ASSERT_EQ(reader->GetDepth(), 2);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_ELEMENT_END);
|
||||
ASSERT_EQ(reader->GetLocalName(), L"objB_1");
|
||||
ASSERT_EQ(reader->GetPrefix(), L"ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"ns:objB_1");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), L"http://www.example.org/ns");
|
||||
ASSERT_EQ(reader->GetLocalName(), "objB_1");
|
||||
ASSERT_EQ(reader->GetPrefix(), "ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "ns:objB_1");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), "http://www.example.org/ns");
|
||||
ASSERT_FALSE(reader->IsEmptyElement());
|
||||
ASSERT_FALSE(reader->HasAttributes());
|
||||
ASSERT_FALSE(reader->HasValue());
|
||||
@ -185,10 +185,10 @@ TEST(XmlReaderTest, Read)
|
||||
ASSERT_TRUE(reader->MoveToNextNode());
|
||||
ASSERT_EQ(reader->GetDepth(), 2);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_ELEMENT_START);
|
||||
ASSERT_EQ(reader->GetLocalName(), L"objB_2");
|
||||
ASSERT_EQ(reader->GetPrefix(), L"ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"ns:objB_2");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), L"http://www.example.org/ns");
|
||||
ASSERT_EQ(reader->GetLocalName(), "objB_2");
|
||||
ASSERT_EQ(reader->GetPrefix(), "ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "ns:objB_2");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), "http://www.example.org/ns");
|
||||
ASSERT_FALSE(reader->IsEmptyElement());
|
||||
ASSERT_FALSE(reader->HasAttributes());
|
||||
ASSERT_FALSE(reader->HasValue());
|
||||
@ -198,16 +198,16 @@ TEST(XmlReaderTest, Read)
|
||||
ASSERT_EQ(reader->GetDepth(), 3);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_CDATA);
|
||||
ASSERT_TRUE(reader->HasValue());
|
||||
ASSERT_EQ(reader->GetValue(), L"some <br/> data");
|
||||
ASSERT_EQ(reader->GetValue(), "some <br/> data");
|
||||
|
||||
// Move to the ns:objB_2 element ending node.
|
||||
ASSERT_TRUE(reader->MoveToNextNode());
|
||||
ASSERT_EQ(reader->GetDepth(), 2);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_ELEMENT_END);
|
||||
ASSERT_EQ(reader->GetLocalName(), L"objB_2");
|
||||
ASSERT_EQ(reader->GetPrefix(), L"ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"ns:objB_2");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), L"http://www.example.org/ns");
|
||||
ASSERT_EQ(reader->GetLocalName(), "objB_2");
|
||||
ASSERT_EQ(reader->GetPrefix(), "ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "ns:objB_2");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), "http://www.example.org/ns");
|
||||
ASSERT_FALSE(reader->IsEmptyElement());
|
||||
ASSERT_FALSE(reader->HasAttributes());
|
||||
ASSERT_FALSE(reader->HasValue());
|
||||
@ -220,10 +220,10 @@ TEST(XmlReaderTest, Read)
|
||||
ASSERT_TRUE(reader->MoveToNextNode());
|
||||
ASSERT_EQ(reader->GetDepth(), 2);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_ELEMENT_START);
|
||||
ASSERT_EQ(reader->GetLocalName(), L"objB_3");
|
||||
ASSERT_EQ(reader->GetPrefix(), L"ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"ns:objB_3");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), L"http://www.example.org/ns");
|
||||
ASSERT_EQ(reader->GetLocalName(), "objB_3");
|
||||
ASSERT_EQ(reader->GetPrefix(), "ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "ns:objB_3");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), "http://www.example.org/ns");
|
||||
ASSERT_FALSE(reader->IsEmptyElement());
|
||||
ASSERT_FALSE(reader->HasAttributes());
|
||||
ASSERT_FALSE(reader->HasValue());
|
||||
@ -232,19 +232,19 @@ TEST(XmlReaderTest, Read)
|
||||
ASSERT_TRUE(reader->MoveToNextNode());
|
||||
ASSERT_EQ(reader->GetDepth(), 3);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_ENTITY_REFERENCE);
|
||||
ASSERT_EQ(reader->GetLocalName(), L"EB");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"EB");
|
||||
ASSERT_EQ(reader->GetLocalName(), "EB");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "EB");
|
||||
ASSERT_TRUE(reader->HasValue());
|
||||
ASSERT_EQ(reader->GetValue(), L"EB Value");
|
||||
ASSERT_EQ(reader->GetValue(), "EB Value");
|
||||
|
||||
// Move to the ns:objB_3 element ending node.
|
||||
ASSERT_TRUE(reader->MoveToNextNode());
|
||||
ASSERT_EQ(reader->GetDepth(), 2);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_ELEMENT_END);
|
||||
ASSERT_EQ(reader->GetLocalName(), L"objB_3");
|
||||
ASSERT_EQ(reader->GetPrefix(), L"ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"ns:objB_3");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), L"http://www.example.org/ns");
|
||||
ASSERT_EQ(reader->GetLocalName(), "objB_3");
|
||||
ASSERT_EQ(reader->GetPrefix(), "ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "ns:objB_3");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), "http://www.example.org/ns");
|
||||
ASSERT_FALSE(reader->IsEmptyElement());
|
||||
ASSERT_FALSE(reader->HasAttributes());
|
||||
ASSERT_FALSE(reader->HasValue());
|
||||
@ -257,24 +257,24 @@ TEST(XmlReaderTest, Read)
|
||||
ASSERT_TRUE(reader->MoveToNextNode());
|
||||
ASSERT_EQ(reader->GetDepth(), 2);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_ELEMENT_START);
|
||||
ASSERT_EQ(reader->GetLocalName(), L"objB_4");
|
||||
ASSERT_EQ(reader->GetPrefix(), L"ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"ns:objB_4");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), L"http://www.example.org/ns");
|
||||
ASSERT_EQ(reader->GetLocalName(), "objB_4");
|
||||
ASSERT_EQ(reader->GetPrefix(), "ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "ns:objB_4");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), "http://www.example.org/ns");
|
||||
ASSERT_FALSE(reader->IsEmptyElement());
|
||||
ASSERT_FALSE(reader->HasAttributes());
|
||||
ASSERT_FALSE(reader->HasValue());
|
||||
ASSERT_EQ(reader->GetInnerXml(), L"<b>this is</b> mixed content &EA;");
|
||||
ASSERT_EQ(reader->GetInnerXml(), "<b>this is</b> mixed content &EA;");
|
||||
ASSERT_EQ(reader->GetOuterXml(),
|
||||
L"<ns:objB_4 xmlns:ns=\"http://www.example.org/ns\">"
|
||||
L"<b>this is</b> mixed content &EA;</ns:objB_4>");
|
||||
"<ns:objB_4 xmlns:ns=\"http://www.example.org/ns\">"
|
||||
"<b>this is</b> mixed content &EA;</ns:objB_4>");
|
||||
|
||||
// Move to the <b> element node.
|
||||
ASSERT_TRUE(reader->MoveToNextNode());
|
||||
ASSERT_EQ(reader->GetDepth(), 3);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_ELEMENT_START);
|
||||
ASSERT_EQ(reader->GetLocalName(), L"b");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"b");
|
||||
ASSERT_EQ(reader->GetLocalName(), "b");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "b");
|
||||
ASSERT_FALSE(reader->IsEmptyElement());
|
||||
ASSERT_FALSE(reader->HasAttributes());
|
||||
ASSERT_FALSE(reader->HasValue());
|
||||
@ -283,44 +283,44 @@ TEST(XmlReaderTest, Read)
|
||||
ASSERT_TRUE(reader->MoveToNextNode());
|
||||
ASSERT_EQ(reader->GetDepth(), 4);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_TEXT);
|
||||
ASSERT_EQ(reader->GetLocalName(), L"#text");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"#text");
|
||||
ASSERT_EQ(reader->GetLocalName(), "#text");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "#text");
|
||||
ASSERT_TRUE(reader->HasValue());
|
||||
ASSERT_EQ(reader->GetValue(), L"this is");
|
||||
ASSERT_EQ(reader->GetValue(), "this is");
|
||||
|
||||
// Move to the </b> element node.
|
||||
ASSERT_TRUE(reader->MoveToNextNode());
|
||||
ASSERT_EQ(reader->GetDepth(), 3);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_ELEMENT_END);
|
||||
ASSERT_EQ(reader->GetLocalName(), L"b");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"b");
|
||||
ASSERT_EQ(reader->GetLocalName(), "b");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "b");
|
||||
|
||||
// Move to the text node.
|
||||
ASSERT_TRUE(reader->MoveToNextNode());
|
||||
ASSERT_EQ(reader->GetDepth(), 3);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_TEXT);
|
||||
ASSERT_EQ(reader->GetLocalName(), L"#text");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"#text");
|
||||
ASSERT_EQ(reader->GetLocalName(), "#text");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "#text");
|
||||
ASSERT_TRUE(reader->HasValue());
|
||||
ASSERT_EQ(reader->GetValue(), L" mixed content ");
|
||||
ASSERT_EQ(reader->GetValue(), " mixed content ");
|
||||
|
||||
// Move to the EA entity reference node.
|
||||
ASSERT_TRUE(reader->MoveToNextNode());
|
||||
ASSERT_EQ(reader->GetDepth(), 3);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_ENTITY_REFERENCE);
|
||||
ASSERT_EQ(reader->GetLocalName(), L"EA");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"EA");
|
||||
ASSERT_EQ(reader->GetLocalName(), "EA");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "EA");
|
||||
ASSERT_TRUE(reader->HasValue());
|
||||
ASSERT_EQ(reader->GetValue(), L"EA Value");
|
||||
ASSERT_EQ(reader->GetValue(), "EA Value");
|
||||
|
||||
// Move to the ns:objB_4 element ending node.
|
||||
ASSERT_TRUE(reader->MoveToNextNode());
|
||||
ASSERT_EQ(reader->GetDepth(), 2);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_ELEMENT_END);
|
||||
ASSERT_EQ(reader->GetLocalName(), L"objB_4");
|
||||
ASSERT_EQ(reader->GetPrefix(), L"ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"ns:objB_4");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), L"http://www.example.org/ns");
|
||||
ASSERT_EQ(reader->GetLocalName(), "objB_4");
|
||||
ASSERT_EQ(reader->GetPrefix(), "ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "ns:objB_4");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), "http://www.example.org/ns");
|
||||
ASSERT_FALSE(reader->IsEmptyElement());
|
||||
ASSERT_FALSE(reader->HasAttributes());
|
||||
ASSERT_FALSE(reader->HasValue());
|
||||
@ -333,10 +333,10 @@ TEST(XmlReaderTest, Read)
|
||||
ASSERT_TRUE(reader->MoveToNextNode());
|
||||
ASSERT_EQ(reader->GetDepth(), 1);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_ELEMENT_END);
|
||||
ASSERT_EQ(reader->GetLocalName(), L"objB");
|
||||
ASSERT_EQ(reader->GetPrefix(), L"ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"ns:objB");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), L"http://www.example.org/ns");
|
||||
ASSERT_EQ(reader->GetLocalName(), "objB");
|
||||
ASSERT_EQ(reader->GetPrefix(), "ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "ns:objB");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), "http://www.example.org/ns");
|
||||
ASSERT_FALSE(reader->IsEmptyElement());
|
||||
ASSERT_FALSE(reader->HasAttributes());
|
||||
ASSERT_FALSE(reader->HasValue());
|
||||
@ -349,48 +349,48 @@ TEST(XmlReaderTest, Read)
|
||||
ASSERT_TRUE(reader->MoveToNextNode());
|
||||
ASSERT_EQ(reader->GetDepth(), 1);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_ELEMENT_START);
|
||||
ASSERT_EQ(reader->GetLocalName(), L"objC");
|
||||
ASSERT_EQ(reader->GetPrefix(), L"ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"ns:objC");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), L"http://www.example.org/ns");
|
||||
ASSERT_EQ(reader->GetLocalName(), "objC");
|
||||
ASSERT_EQ(reader->GetPrefix(), "ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "ns:objC");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), "http://www.example.org/ns");
|
||||
ASSERT_TRUE(reader->IsEmptyElement());
|
||||
ASSERT_TRUE(reader->HasAttributes());
|
||||
ASSERT_FALSE(reader->HasValue());
|
||||
ASSERT_EQ(reader->GetAttributeCount(), (size_t)2);
|
||||
ASSERT_EQ(reader->GetAttribute(0), L"value C1");
|
||||
ASSERT_EQ(reader->GetAttribute(L"ns:attr1"), L"value C1");
|
||||
ASSERT_EQ(reader->GetAttribute(L"attr1", L"http://www.example.org/ns"),
|
||||
L"value C1");
|
||||
ASSERT_EQ(reader->GetAttribute(1), L"value C2");
|
||||
ASSERT_EQ(reader->GetAttribute(L"ns:attr2"), L"value C2");
|
||||
ASSERT_EQ(reader->GetAttribute(L"attr2", L"http://www.example.org/ns"),
|
||||
L"value C2");
|
||||
ASSERT_EQ(reader->GetAttribute(0), "value C1");
|
||||
ASSERT_EQ(reader->GetAttribute("ns:attr1"), "value C1");
|
||||
ASSERT_EQ(reader->GetAttribute("attr1", "http://www.example.org/ns"),
|
||||
"value C1");
|
||||
ASSERT_EQ(reader->GetAttribute(1), "value C2");
|
||||
ASSERT_EQ(reader->GetAttribute("ns:attr2"), "value C2");
|
||||
ASSERT_EQ(reader->GetAttribute("attr2", "http://www.example.org/ns"),
|
||||
"value C2");
|
||||
|
||||
// Move to the ns:attr1 attribute.
|
||||
ASSERT_TRUE(reader->MoveToFirstAttribute());
|
||||
ASSERT_EQ(reader->GetDepth(), 2);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_ATTRIBUTE);
|
||||
ASSERT_EQ(reader->GetLocalName(), L"attr1");
|
||||
ASSERT_EQ(reader->GetPrefix(), L"ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"ns:attr1");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), L"http://www.example.org/ns");
|
||||
ASSERT_EQ(reader->GetLocalName(), "attr1");
|
||||
ASSERT_EQ(reader->GetPrefix(), "ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "ns:attr1");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), "http://www.example.org/ns");
|
||||
ASSERT_TRUE(reader->HasValue());
|
||||
ASSERT_FALSE(reader->IsEmptyElement());
|
||||
ASSERT_FALSE(reader->HasAttributes());
|
||||
ASSERT_EQ(reader->GetValue(), L"value C1");
|
||||
ASSERT_EQ(reader->GetValue(), "value C1");
|
||||
|
||||
// Move to the ns:attr2 attribute.
|
||||
ASSERT_TRUE(reader->MoveToNextAttribute());
|
||||
ASSERT_EQ(reader->GetDepth(), 2);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_ATTRIBUTE);
|
||||
ASSERT_EQ(reader->GetLocalName(), L"attr2");
|
||||
ASSERT_EQ(reader->GetPrefix(), L"ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"ns:attr2");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), L"http://www.example.org/ns");
|
||||
ASSERT_EQ(reader->GetLocalName(), "attr2");
|
||||
ASSERT_EQ(reader->GetPrefix(), "ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "ns:attr2");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), "http://www.example.org/ns");
|
||||
ASSERT_TRUE(reader->HasValue());
|
||||
ASSERT_FALSE(reader->IsEmptyElement());
|
||||
ASSERT_FALSE(reader->HasAttributes());
|
||||
ASSERT_EQ(reader->GetValue(), L"value C2");
|
||||
ASSERT_EQ(reader->GetValue(), "value C2");
|
||||
|
||||
// No more attributes.
|
||||
ASSERT_FALSE(reader->MoveToNextAttribute());
|
||||
@ -399,60 +399,60 @@ TEST(XmlReaderTest, Read)
|
||||
ASSERT_TRUE(reader->MoveToCarryingElement());
|
||||
ASSERT_EQ(reader->GetDepth(), 1);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_ELEMENT_START);
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"ns:objC");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "ns:objC");
|
||||
|
||||
// Move to the ns:attr1 attribute.
|
||||
ASSERT_TRUE(reader->MoveToAttribute(0));
|
||||
ASSERT_EQ(reader->GetDepth(), 2);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_ATTRIBUTE);
|
||||
ASSERT_EQ(reader->GetLocalName(), L"attr1");
|
||||
ASSERT_EQ(reader->GetPrefix(), L"ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"ns:attr1");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), L"http://www.example.org/ns");
|
||||
ASSERT_EQ(reader->GetLocalName(), "attr1");
|
||||
ASSERT_EQ(reader->GetPrefix(), "ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "ns:attr1");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), "http://www.example.org/ns");
|
||||
ASSERT_TRUE(reader->HasValue());
|
||||
ASSERT_FALSE(reader->IsEmptyElement());
|
||||
ASSERT_FALSE(reader->HasAttributes());
|
||||
ASSERT_EQ(reader->GetValue(), L"value C1");
|
||||
ASSERT_EQ(reader->GetValue(), "value C1");
|
||||
|
||||
// Return to the ns:objC element start node.
|
||||
ASSERT_TRUE(reader->MoveToCarryingElement());
|
||||
ASSERT_EQ(reader->GetDepth(), 1);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_ELEMENT_START);
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"ns:objC");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "ns:objC");
|
||||
|
||||
// Move to the ns:attr2 attribute.
|
||||
ASSERT_TRUE(reader->MoveToAttribute(L"ns:attr2"));
|
||||
ASSERT_TRUE(reader->MoveToAttribute("ns:attr2"));
|
||||
ASSERT_EQ(reader->GetDepth(), 2);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_ATTRIBUTE);
|
||||
ASSERT_EQ(reader->GetLocalName(), L"attr2");
|
||||
ASSERT_EQ(reader->GetPrefix(), L"ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"ns:attr2");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), L"http://www.example.org/ns");
|
||||
ASSERT_EQ(reader->GetLocalName(), "attr2");
|
||||
ASSERT_EQ(reader->GetPrefix(), "ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "ns:attr2");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), "http://www.example.org/ns");
|
||||
ASSERT_TRUE(reader->HasValue());
|
||||
ASSERT_FALSE(reader->IsEmptyElement());
|
||||
ASSERT_FALSE(reader->HasAttributes());
|
||||
ASSERT_EQ(reader->GetValue(), L"value C2");
|
||||
ASSERT_EQ(reader->GetValue(), "value C2");
|
||||
|
||||
// Move to the ns:attr1 attribute without returning to the ns:objC element.
|
||||
ASSERT_TRUE(reader->MoveToAttribute(L"attr1", L"http://www.example.org/ns"));
|
||||
ASSERT_TRUE(reader->MoveToAttribute("attr1", "http://www.example.org/ns"));
|
||||
ASSERT_EQ(reader->GetDepth(), 2);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_ATTRIBUTE);
|
||||
ASSERT_EQ(reader->GetLocalName(), L"attr1");
|
||||
ASSERT_EQ(reader->GetPrefix(), L"ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"ns:attr1");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), L"http://www.example.org/ns");
|
||||
ASSERT_EQ(reader->GetLocalName(), "attr1");
|
||||
ASSERT_EQ(reader->GetPrefix(), "ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "ns:attr1");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), "http://www.example.org/ns");
|
||||
ASSERT_TRUE(reader->HasValue());
|
||||
ASSERT_FALSE(reader->IsEmptyElement());
|
||||
ASSERT_FALSE(reader->HasAttributes());
|
||||
ASSERT_EQ(reader->GetValue(), L"value C1");
|
||||
ASSERT_EQ(reader->GetValue(), "value C1");
|
||||
|
||||
// Move to the ns:objD element start node.
|
||||
ASSERT_TRUE(reader->MoveToNextNode());
|
||||
ASSERT_EQ(reader->GetDepth(), 1);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_ELEMENT_START);
|
||||
ASSERT_EQ(reader->GetLocalName(), L"objD");
|
||||
ASSERT_EQ(reader->GetPrefix(), L"ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"ns:objD");
|
||||
ASSERT_EQ(reader->GetLocalName(), "objD");
|
||||
ASSERT_EQ(reader->GetPrefix(), "ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "ns:objD");
|
||||
ASSERT_FALSE(reader->IsEmptyElement());
|
||||
ASSERT_FALSE(reader->HasAttributes());
|
||||
ASSERT_FALSE(reader->HasValue());
|
||||
@ -461,9 +461,9 @@ TEST(XmlReaderTest, Read)
|
||||
ASSERT_TRUE(reader->MoveToNextNode());
|
||||
ASSERT_EQ(reader->GetDepth(), 1);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_ELEMENT_END);
|
||||
ASSERT_EQ(reader->GetLocalName(), L"objD");
|
||||
ASSERT_EQ(reader->GetPrefix(), L"ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"ns:objD");
|
||||
ASSERT_EQ(reader->GetLocalName(), "objD");
|
||||
ASSERT_EQ(reader->GetPrefix(), "ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "ns:objD");
|
||||
ASSERT_FALSE(reader->IsEmptyElement());
|
||||
ASSERT_FALSE(reader->HasAttributes());
|
||||
ASSERT_FALSE(reader->HasValue());
|
||||
@ -476,10 +476,10 @@ TEST(XmlReaderTest, Read)
|
||||
ASSERT_TRUE(reader->MoveToNextNode());
|
||||
ASSERT_EQ(reader->GetDepth(), 0);
|
||||
ASSERT_EQ(reader->GetType(), XML_NODE_ELEMENT_END);
|
||||
ASSERT_EQ(reader->GetLocalName(), L"obj");
|
||||
ASSERT_EQ(reader->GetPrefix(), L"ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), L"ns:obj");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), L"http://www.example.org/ns");
|
||||
ASSERT_EQ(reader->GetLocalName(), "obj");
|
||||
ASSERT_EQ(reader->GetPrefix(), "ns");
|
||||
ASSERT_EQ(reader->GetQualifiedName(), "ns:obj");
|
||||
ASSERT_EQ(reader->GetNamespaceURI(), "http://www.example.org/ns");
|
||||
ASSERT_FALSE(reader->IsEmptyElement());
|
||||
ASSERT_TRUE(reader->HasAttributes());
|
||||
ASSERT_FALSE(reader->HasValue());
|
||||
@ -509,7 +509,7 @@ TEST(XmlReaderTest, ReadError)
|
||||
// Create the XML reader.
|
||||
CefRefPtr<CefXmlReader> reader(
|
||||
CefXmlReader::Create(stream, XML_ENCODING_NONE,
|
||||
L"http://www.example.org/example.xml"));
|
||||
"http://www.example.org/example.xml"));
|
||||
ASSERT_TRUE(reader.get() != NULL);
|
||||
|
||||
// Move to the processing instruction node and generate parser error.
|
||||
@ -526,22 +526,22 @@ TEST(XmlReaderTest, ObjectLoad)
|
||||
ASSERT_TRUE(stream.get() != NULL);
|
||||
|
||||
// Create the XML reader.
|
||||
CefRefPtr<CefXmlObject> object(new CefXmlObject(L"object"));
|
||||
CefRefPtr<CefXmlObject> object(new CefXmlObject("object"));
|
||||
ASSERT_TRUE(object->Load(stream, XML_ENCODING_NONE,
|
||||
L"http://www.example.org/example.xml", NULL));
|
||||
"http://www.example.org/example.xml", NULL));
|
||||
|
||||
ASSERT_FALSE(object->HasAttributes());
|
||||
ASSERT_TRUE(object->HasChildren());
|
||||
ASSERT_EQ(object->GetChildCount(), (size_t)1);
|
||||
|
||||
CefRefPtr<CefXmlObject> obj(object->FindChild(L"ns:obj"));
|
||||
CefRefPtr<CefXmlObject> obj(object->FindChild("ns:obj"));
|
||||
ASSERT_TRUE(obj.get());
|
||||
ASSERT_TRUE(obj->HasChildren());
|
||||
ASSERT_EQ(obj->GetChildCount(), (size_t)4);
|
||||
|
||||
CefRefPtr<CefXmlObject> obj_child(obj->FindChild(L"ns:objC"));
|
||||
CefRefPtr<CefXmlObject> obj_child(obj->FindChild("ns:objC"));
|
||||
ASSERT_TRUE(obj_child.get());
|
||||
ASSERT_EQ(obj_child->GetName(), L"ns:objC");
|
||||
ASSERT_EQ(obj_child->GetName(), "ns:objC");
|
||||
ASSERT_FALSE(obj_child->HasChildren());
|
||||
ASSERT_FALSE(obj_child->HasValue());
|
||||
ASSERT_TRUE(obj_child->HasAttributes());
|
||||
@ -556,26 +556,26 @@ TEST(XmlReaderTest, ObjectLoad)
|
||||
ASSERT_TRUE(obj_child.get());
|
||||
if (ct == 0) {
|
||||
// ns:objA
|
||||
ASSERT_EQ(obj_child->GetName(), L"ns:objA");
|
||||
ASSERT_EQ(obj_child->GetName(), "ns:objA");
|
||||
ASSERT_FALSE(obj_child->HasChildren());
|
||||
ASSERT_TRUE(obj_child->HasValue());
|
||||
ASSERT_FALSE(obj_child->HasAttributes());
|
||||
ASSERT_EQ(obj_child->GetValue(), L"value A");
|
||||
ASSERT_EQ(obj_child->GetValue(), "value A");
|
||||
} else if (ct == 1) {
|
||||
// ns:objB
|
||||
ASSERT_EQ(obj_child->GetName(), L"ns:objB");
|
||||
ASSERT_EQ(obj_child->GetName(), "ns:objB");
|
||||
ASSERT_TRUE(obj_child->HasChildren());
|
||||
ASSERT_FALSE(obj_child->HasValue());
|
||||
ASSERT_FALSE(obj_child->HasAttributes());
|
||||
ASSERT_EQ(obj_child->GetChildCount(), (size_t)4);
|
||||
obj_child = obj_child->FindChild(L"ns:objB_4");
|
||||
obj_child = obj_child->FindChild("ns:objB_4");
|
||||
ASSERT_TRUE(obj_child.get());
|
||||
ASSERT_TRUE(obj_child->HasValue());
|
||||
ASSERT_EQ(obj_child->GetValue(),
|
||||
L"<b>this is</b> mixed content EA Value");
|
||||
"<b>this is</b> mixed content EA Value");
|
||||
} else if (ct == 2) {
|
||||
// ns:objC
|
||||
ASSERT_EQ(obj_child->GetName(), L"ns:objC");
|
||||
ASSERT_EQ(obj_child->GetName(), "ns:objC");
|
||||
ASSERT_FALSE(obj_child->HasChildren());
|
||||
ASSERT_FALSE(obj_child->HasValue());
|
||||
ASSERT_TRUE(obj_child->HasAttributes());
|
||||
@ -583,17 +583,17 @@ TEST(XmlReaderTest, ObjectLoad)
|
||||
CefXmlObject::AttributeMap attribs;
|
||||
ASSERT_EQ(obj_child->GetAttributes(attribs), (size_t)2);
|
||||
ASSERT_EQ(attribs.size(), (size_t)2);
|
||||
ASSERT_EQ(attribs[L"ns:attr1"], L"value C1");
|
||||
ASSERT_EQ(attribs[L"ns:attr2"], L"value C2");
|
||||
ASSERT_EQ(attribs["ns:attr1"], "value C1");
|
||||
ASSERT_EQ(attribs["ns:attr2"], "value C2");
|
||||
|
||||
ASSERT_EQ(obj_child->GetAttributeCount(), (size_t)2);
|
||||
ASSERT_TRUE(obj_child->HasAttribute(L"ns:attr1"));
|
||||
ASSERT_EQ(obj_child->GetAttributeValue(L"ns:attr1"), L"value C1");
|
||||
ASSERT_TRUE(obj_child->HasAttribute(L"ns:attr2"));
|
||||
ASSERT_EQ(obj_child->GetAttributeValue(L"ns:attr2"), L"value C2");
|
||||
ASSERT_TRUE(obj_child->HasAttribute("ns:attr1"));
|
||||
ASSERT_EQ(obj_child->GetAttributeValue("ns:attr1"), "value C1");
|
||||
ASSERT_TRUE(obj_child->HasAttribute("ns:attr2"));
|
||||
ASSERT_EQ(obj_child->GetAttributeValue("ns:attr2"), "value C2");
|
||||
} else if (ct == 3) {
|
||||
// ns:objD
|
||||
ASSERT_EQ(obj_child->GetName(), L"ns:objD");
|
||||
ASSERT_EQ(obj_child->GetName(), "ns:objD");
|
||||
ASSERT_FALSE(obj_child->HasChildren());
|
||||
ASSERT_FALSE(obj_child->HasValue());
|
||||
ASSERT_FALSE(obj_child->HasAttributes());
|
||||
@ -613,14 +613,14 @@ TEST(XmlReaderTest, ObjectLoadError)
|
||||
CefStreamReader::CreateForData(error_xml, sizeof(error_xml) - 1));
|
||||
ASSERT_TRUE(stream.get() != NULL);
|
||||
|
||||
std::wstring error_str;
|
||||
CefString error_str;
|
||||
|
||||
// Create the XML reader.
|
||||
CefRefPtr<CefXmlObject> object(new CefXmlObject(L"object"));
|
||||
CefRefPtr<CefXmlObject> object(new CefXmlObject("object"));
|
||||
ASSERT_FALSE(object->Load(stream, XML_ENCODING_NONE,
|
||||
L"http://www.example.org/example.xml", &error_str));
|
||||
"http://www.example.org/example.xml", &error_str));
|
||||
ASSERT_EQ(error_str,
|
||||
L"Opening and ending tag mismatch: foo line 2 and obj, line 3");
|
||||
"Opening and ending tag mismatch: foo line 2 and obj, line 3");
|
||||
}
|
||||
|
||||
// Test value following child error.
|
||||
@ -632,13 +632,13 @@ TEST(XmlReaderTest, ObjectLoadError)
|
||||
CefStreamReader::CreateForData(error_xml, sizeof(error_xml) - 1));
|
||||
ASSERT_TRUE(stream.get() != NULL);
|
||||
|
||||
std::wstring error_str;
|
||||
CefString error_str;
|
||||
|
||||
// Create the XML reader.
|
||||
CefRefPtr<CefXmlObject> object(new CefXmlObject(L"object"));
|
||||
CefRefPtr<CefXmlObject> object(new CefXmlObject("object"));
|
||||
ASSERT_FALSE(object->Load(stream, XML_ENCODING_NONE,
|
||||
L"http://www.example.org/example.xml", &error_str));
|
||||
"http://www.example.org/example.xml", &error_str));
|
||||
ASSERT_EQ(error_str,
|
||||
L"Value following child element, line 4");
|
||||
"Value following child element, line 4");
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user