xref: /php-src/ext/dom/tests/modern/spec/bug81468.phpt (revision 14b6c981)
1--TEST--
2Bug #81468 (Inconsistent default namespace inheritance)
3--EXTENSIONS--
4dom
5--FILE--
6<?php
7
8// Note: the original expectation from https://bugs.php.net/bug.php?id=81468 isn't *entirely* right
9
10$dom = DOM\XMLDocument::createEmpty();
11$dom
12  ->appendChild($dom->createElementNS('some:namespace', 'foo'))
13  ->appendChild($dom->createElement('bar'));
14echo ($xml = $dom->saveXML()), "\n";
15
16$xpath = new DOM\XPath($dom);
17$xpath->registerNamespace('n', 'some:namespace');
18echo "/n:foo/bar -> ", count($xpath->query('/n:foo/bar')), "\n";
19echo "/n:foo/n:bar -> ", count($xpath->query('/n:foo/n:bar')), "\n";
20
21//
22
23$dom = DOM\XMLDocument::createFromString($xml);
24echo ($xml = $dom->saveXML()), "\n";
25
26$xpath = new DOM\XPath($dom);
27$xpath->registerNamespace('n', 'some:namespace');
28echo "/n:foo/bar -> ", count($xpath->query('/n:foo/bar')), "\n";
29echo "/n:foo/n:bar -> ", count($xpath->query('/n:foo/n:bar')), "\n";
30
31?>
32--EXPECT--
33<?xml version="1.0" encoding="UTF-8"?>
34<foo xmlns="some:namespace"><bar xmlns=""/></foo>
35/n:foo/bar -> 1
36/n:foo/n:bar -> 0
37<?xml version="1.0" encoding="UTF-8"?>
38<foo xmlns="some:namespace"><bar xmlns=""/></foo>
39/n:foo/bar -> 1
40/n:foo/n:bar -> 0
41