1--TEST--
2Test Dom\HTMLDocument::getElementsByTagName(NS)
3--EXTENSIONS--
4dom
5--FILE--
6<?php
7
8$dom = Dom\HTMLDocument::createFromString(<<<HTML
9<!DOCTYPE html>
10<html>
11<head>
12    <title>Test</title>
13</head>
14<body>
15    <h1>Test</h1>
16    <p>Test</p>
17    <svg width="100" height="100">
18        <circle cx="0" cy="0" r="10"/>
19    </svg>
20    <math>
21        <mtable id="table"></mtable>
22    </math>
23</body>
24</html>
25HTML);
26
27echo "--- getElementsByTagName ---\n";
28
29var_dump($dom->getElementsByTagName("p")[0]?->nodeName);
30var_dump($dom->getElementsByTagName("math")[0]?->nodeName);
31var_dump($dom->getElementsByTagName("mtable")[0]?->nodeName);
32var_dump($dom->getElementsByTagName("svg")[0]?->nodeName);
33var_dump($dom->getElementsByTagName("circle")[0]?->nodeName);
34
35echo "--- getElementsByTagNameNS (*) ---\n";
36
37var_dump($dom->getElementsByTagNameNS("*", "p")[0]?->nodeName);
38var_dump($dom->getElementsByTagNameNS("*", "math")[0]?->nodeName);
39var_dump($dom->getElementsByTagNameNS("*", "mtable")[0]?->nodeName);
40var_dump($dom->getElementsByTagNameNS("*", "svg")[0]?->nodeName);
41var_dump($dom->getElementsByTagNameNS("*", "circle")[0]?->nodeName);
42
43echo "--- getElementsByTagNameNS (xhtml) ---\n";
44
45var_dump($dom->getElementsByTagNameNS("http://www.w3.org/1999/xhtml", "p")[0]?->nodeName);
46var_dump($dom->getElementsByTagNameNS("http://www.w3.org/1999/xhtml", "math")[0]?->nodeName);
47var_dump($dom->getElementsByTagNameNS("http://www.w3.org/1999/xhtml", "mtable")[0]?->nodeName);
48var_dump($dom->getElementsByTagNameNS("http://www.w3.org/1999/xhtml", "svg")[0]?->nodeName);
49var_dump($dom->getElementsByTagNameNS("http://www.w3.org/1999/xhtml", "circle")[0]?->nodeName);
50
51echo "--- getElementsByTagNameNS (svg) ---\n";
52
53var_dump($dom->getElementsByTagNameNS("http://www.w3.org/2000/svg", "p")[0]?->nodeName);
54var_dump($dom->getElementsByTagNameNS("http://www.w3.org/2000/svg", "math")[0]?->nodeName);
55var_dump($dom->getElementsByTagNameNS("http://www.w3.org/2000/svg", "mtable")[0]?->nodeName);
56var_dump($dom->getElementsByTagNameNS("http://www.w3.org/2000/svg", "svg")[0]?->nodeName);
57var_dump($dom->getElementsByTagNameNS("http://www.w3.org/2000/svg", "circle")[0]?->nodeName);
58
59echo "--- getElementsByTagNameNS (math) ---\n";
60
61var_dump($dom->getElementsByTagNameNS("http://www.w3.org/1998/Math/MathML", "p")[0]?->nodeName);
62var_dump($dom->getElementsByTagNameNS("http://www.w3.org/1998/Math/MathML", "math")[0]?->nodeName);
63var_dump($dom->getElementsByTagNameNS("http://www.w3.org/1998/Math/MathML", "mtable")[0]?->nodeName);
64var_dump($dom->getElementsByTagNameNS("http://www.w3.org/1998/Math/MathML", "svg")[0]?->nodeName);
65var_dump($dom->getElementsByTagNameNS("http://www.w3.org/1998/Math/MathML", "circle")[0]?->nodeName);
66
67?>
68--EXPECT--
69--- getElementsByTagName ---
70string(1) "P"
71string(4) "math"
72string(6) "mtable"
73string(3) "svg"
74string(6) "circle"
75--- getElementsByTagNameNS (*) ---
76string(1) "P"
77string(4) "math"
78string(6) "mtable"
79string(3) "svg"
80string(6) "circle"
81--- getElementsByTagNameNS (xhtml) ---
82string(1) "P"
83NULL
84NULL
85NULL
86NULL
87--- getElementsByTagNameNS (svg) ---
88NULL
89NULL
90NULL
91string(3) "svg"
92string(6) "circle"
93--- getElementsByTagNameNS (math) ---
94NULL
95string(4) "math"
96string(6) "mtable"
97NULL
98NULL
99