1--TEST--
2Element::removeAttributeNS()
3--EXTENSIONS--
4dom
5--FILE--
6<?php
7
8function createFreshBody() {
9    $dom = DOM\HTMLDocument::createFromString('<!DOCTYPE html><html><body align="foo" foo:bar="baz"></body></html>');
10    $body = $dom->getElementsByTagName("body")[0];
11    return $body;
12}
13
14echo "--- After parsing, i.e. without namespace ---\n";
15
16$body = createFreshBody();
17$body->removeAttributeNS(NULL, "align");
18echo $body->ownerDocument->saveHTML($body), "\n";
19
20$body = createFreshBody();
21$body->removeAttributeNS("", "align");
22echo $body->ownerDocument->saveHTML($body), "\n";
23
24$body = createFreshBody();
25$body->removeAttributeNS(NULL, "ALIGN");
26echo $body->ownerDocument->saveHTML($body), "\n";
27
28$body = createFreshBody();
29$body->removeAttributeNS("", "ALIGN");
30echo $body->ownerDocument->saveHTML($body), "\n";
31
32$body = createFreshBody();
33$body->removeAttributeNS(NULL, "foo:bar");
34echo $body->ownerDocument->saveHTML($body), "\n";
35
36$body = createFreshBody();
37$body->removeAttributeNS("", "foo:bar");
38echo $body->ownerDocument->saveHTML($body), "\n";
39
40$body = createFreshBody();
41$body->removeAttributeNS(NULL, "FOO:BAR");
42echo $body->ownerDocument->saveHTML($body), "\n";
43
44$body = createFreshBody();
45$body->removeAttributeNS("", "FOO:BAR");
46echo $body->ownerDocument->saveHTML($body), "\n";
47
48echo "--- Special legacy case ---\n";
49
50$body = createFreshBody();
51$body->ownerDocument->documentElement->removeAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns");
52
53echo "--- Remove after creating without namespace ---\n";
54
55$body = createFreshBody();
56$body->setAttributeNode($attr = $body->ownerDocument->createAttribute("prefix:local"));
57$attr->value = "A";
58echo $body->ownerDocument->saveHTML($body), "\n";
59$body->removeAttributeNS(NULL, "prefix:LOCAL");
60echo $body->ownerDocument->saveHTML($body), "\n";
61$body->removeAttributeNS(NULL, "prefix:local");
62echo $body->ownerDocument->saveHTML($body), "\n";
63
64echo "--- Remove after creating with namespace ---\n";
65
66$body = createFreshBody();
67$body->setAttributeNode($attr = $body->ownerDocument->createAttributeNS("urn:a", "prefix:local2"));
68$attr->value = "B";
69echo $body->ownerDocument->saveHTML($body), "\n";
70$body->removeAttributeNS("urn:a", "LOCAL2");
71echo $body->ownerDocument->saveHTML($body), "\n";
72$body->removeAttributeNS("urn:a", "local2");
73echo $body->ownerDocument->saveHTML($body), "\n";
74
75?>
76--EXPECT--
77--- After parsing, i.e. without namespace ---
78<body foo:bar="baz"></body>
79<body foo:bar="baz"></body>
80<body align="foo" foo:bar="baz"></body>
81<body align="foo" foo:bar="baz"></body>
82<body align="foo"></body>
83<body align="foo"></body>
84<body align="foo" foo:bar="baz"></body>
85<body align="foo" foo:bar="baz"></body>
86--- Special legacy case ---
87--- Remove after creating without namespace ---
88<body align="foo" foo:bar="baz" prefix:local="A"></body>
89<body align="foo" foo:bar="baz" prefix:local="A"></body>
90<body align="foo" foo:bar="baz"></body>
91--- Remove after creating with namespace ---
92<body align="foo" foo:bar="baz" prefix:local2="B"></body>
93<body align="foo" foo:bar="baz" prefix:local2="B"></body>
94<body align="foo" foo:bar="baz"></body>
95