Skip to content

Commit 7d551a8

Browse files
committed
[ci skip] Add test for GH-12455
This was already indirectly fixed via e127f87. Co-authored-by: InvisibleSmiley
1 parent 94c1e55 commit 7d551a8

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

ext/dom/tests/gh12455.phpt

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
--TEST--
2+
GH-12455 (Namespace prefixes reused incorrectly depending on libxml2 version)
3+
--EXTENSIONS--
4+
dom
5+
--FILE--
6+
<?php
7+
8+
$doc = new DOMDocument();
9+
$element = $doc->createElementNS('http://test', 'a:x');
10+
$doc->appendChild($element);
11+
$element1 = $doc->createElementNS('http://test', 'b:y');
12+
$element->appendChild($element1);
13+
$element1->appendChild($doc->createElementNS('http://test', 'b:z'));
14+
echo $doc->saveXml();
15+
16+
$xpath = new DOMXPath($doc);
17+
$xpath->registerNodeNamespaces = true;
18+
$xpath->registerNamespace('b', 'http://test');
19+
20+
$elements = $xpath->query('//b:z');
21+
foreach ($elements as $e) {
22+
var_dump($e->nodeName);
23+
}
24+
25+
$elements = $xpath->query('//*[name()="b:z"]');
26+
echo $elements->length;
27+
28+
?>
29+
--EXPECT--
30+
<?xml version="1.0"?>
31+
<a:x xmlns:a="http://test"><b:y xmlns:b="http://test"><b:z/></b:y></a:x>
32+
string(3) "b:z"
33+
1

0 commit comments

Comments
 (0)