1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
--TEST--
Bug #79701 (getElementById does not correctly work with duplicate definitions) - nodeValue / value variation
--EXTENSIONS--
dom
--FILE--
<?php
foreach (["value", "nodeValue"] as $property) {
echo "--- Testing property \$$property ---\n";
$dom = Dom\XMLDocument::createFromString(<<<XML
<root>
<test1 xml:id="x"/>
<test2 xml:id="y"/>
</root>
XML);
$test1 = $dom->getElementById('x');
$test2 = $dom->getElementById('y');
var_dump($test1?->nodeName);
var_dump($test2?->nodeName);
$test1->getAttributeNode('xml:id')->$property = "y";
var_dump($dom->getElementById('x')?->nodeName);
var_dump($dom->getElementById('y')?->nodeName);
$test2->getAttributeNode('xml:id')->$property = "x";
var_dump($dom->getElementById('x')?->nodeName);
var_dump($dom->getElementById('y')?->nodeName);
}
?>
--EXPECT--
--- Testing property $value ---
string(5) "test1"
string(5) "test2"
NULL
string(5) "test1"
string(5) "test2"
string(5) "test1"
--- Testing property $nodeValue ---
string(5) "test1"
string(5) "test2"
NULL
string(5) "test1"
string(5) "test2"
string(5) "test1"
|