summaryrefslogtreecommitdiffstats
path: root/vendor/fguillot/picofeed/tests/Parser/XmlParserTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/fguillot/picofeed/tests/Parser/XmlParserTest.php')
-rw-r--r--vendor/fguillot/picofeed/tests/Parser/XmlParserTest.php18
1 files changed, 18 insertions, 0 deletions
diff --git a/vendor/fguillot/picofeed/tests/Parser/XmlParserTest.php b/vendor/fguillot/picofeed/tests/Parser/XmlParserTest.php
index a849c58f2..3ec0a4685 100644
--- a/vendor/fguillot/picofeed/tests/Parser/XmlParserTest.php
+++ b/vendor/fguillot/picofeed/tests/Parser/XmlParserTest.php
@@ -176,4 +176,22 @@ XML;
$this->assertTrue($result instanceof DOMDocument);
$this->assertTrue($result->validate());
}
+
+ public function testReplaceXPathPrefixWithNamespaceURI()
+ {
+ $ns = array('lorem' => 'https://en.wikipedia.org/wiki/Lorem');
+ $query = '//lorem:title';
+ $expected = '//*[namespace-uri()="https://en.wikipedia.org/wiki/Lorem" and local-name()="title"]';
+ $this->assertEquals($expected, XmlParser::replaceXPathPrefixWithNamespaceURI($query, $ns));
+
+ $ns = array('lorem' => 'https://en.wikipedia.org/wiki/Lorem', 'ipsum' => 'https://en.wikipedia.org/wiki/Ipsum');
+ $query = '//lorem:title/ipsum:name';
+ $expected = '//*[namespace-uri()="https://en.wikipedia.org/wiki/Lorem" and local-name()="title"]/*[namespace-uri()="https://en.wikipedia.org/wiki/Ipsum" and local-name()="name"]';
+ $this->assertEquals($expected, XmlParser::replaceXPathPrefixWithNamespaceURI($query, $ns));
+
+ $ns = array('lorem' => 'https://en.wikipedia.org/wiki/Lorem', 'ipsum' => 'https://en.wikipedia.org/wiki/Ipsum');
+ $query = '//lorem:title/ipsum:name/@xml:lang';
+ $expected = '//*[namespace-uri()="https://en.wikipedia.org/wiki/Lorem" and local-name()="title"]/*[namespace-uri()="https://en.wikipedia.org/wiki/Ipsum" and local-name()="name"]/@xml:lang';
+ $this->assertEquals($expected, XmlParser::replaceXPathPrefixWithNamespaceURI($query, $ns));
+ }
}