Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(671)

Side by Side Diff: third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/nodes/Document-createElementNS.html

Issue 1529523002: Import dom/ from web-platform-tests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: tweak W3CImportExpectations Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 <!DOCTYPE html>
2 <meta charset=utf-8>
3 <title>Document.createElementNS</title>
4 <link rel=help href="https://dom.spec.whatwg.org/#dom-document-createelementns">
5 <script src="../../../../resources/testharness.js"></script>
6 <script src="../../../../resources/testharnessreport.js"></script>
7 <script src="Document-createElementNS.js"></script>
8 <div id="log"></div>
9 <script>
10 test(function() {
11 var tests = createElementNS_tests.concat([
12 /* Arrays with three elements:
13 * the namespace argument
14 * the qualifiedName argument
15 * the expected exception, or null if none
16 */
17 ["", "", "INVALID_CHARACTER_ERR"],
18 [null, null, null],
19 [null, "", "INVALID_CHARACTER_ERR"],
20 [undefined, null, null],
21 [undefined, undefined, null],
22 [undefined, "", "INVALID_CHARACTER_ERR"],
23 ["http://example.com/", null, null],
24 ["http://example.com/", "", "INVALID_CHARACTER_ERR"],
25 ["/", null, null],
26 ["/", "", "INVALID_CHARACTER_ERR"],
27 ["http://www.w3.org/XML/1998/namespace", null, null],
28 ["http://www.w3.org/XML/1998/namespace", "", "INVALID_CHARACTER_ERR"],
29 ["http://www.w3.org/2000/xmlns/", null, "NAMESPACE_ERR"],
30 ["http://www.w3.org/2000/xmlns/", "", "INVALID_CHARACTER_ERR"],
31 ["foo:", null, null],
32 ["foo:", "", "INVALID_CHARACTER_ERR"],
33 ])
34
35 tests.forEach(function(t, i) {
36 test(function() {
37 var namespace = t[0], qualifiedName = t[1], expected = t[2]
38 if (expected != null) {
39 assert_throws(expected, function() { document.createElementNS(namespace, qualifiedName) })
40 } else {
41 var element = document.createElementNS(namespace, qualifiedName)
42 assert_not_equals(element, null)
43 assert_equals(element.nodeType, Node.ELEMENT_NODE)
44 assert_equals(element.nodeType, element.ELEMENT_NODE)
45 assert_equals(element.nodeValue, null)
46 assert_equals(element.ownerDocument, document)
47 var qualified = String(qualifiedName), names = []
48 if (qualified.indexOf(":") >= 0) {
49 names = qualified.split(":", 2)
50 } else {
51 names = [null, qualified]
52 }
53 assert_equals(element.prefix, names[0])
54 assert_equals(element.localName, names[1])
55 assert_equals(element.tagName, qualified)
56 assert_equals(element.nodeName, qualified)
57 assert_equals(element.namespaceURI, namespace === undefined ? null : nam espace)
58 }
59 }, "createElementNS test " + i + ": " + t.map(function(el) { return format_v alue(el) }))
60 })
61 })
62
63 test(function() {
64 var HTMLNS = "http://www.w3.org/1999/xhtml";
65 var element = document.createElementNS(HTMLNS, "span");
66 assert_equals(element.namespaceURI, HTMLNS);
67 assert_equals(element.prefix, null);
68 assert_equals(element.localName, "span");
69 assert_equals(element.tagName, "SPAN");
70 assert_true(element instanceof Node, "Should be a Node");
71 assert_true(element instanceof Element, "Should be an Element");
72 assert_true(element instanceof HTMLElement, "Should be an HTMLElement");
73 assert_true(element instanceof HTMLSpanElement, "Should be an HTMLSpanElement" );
74 }, "Lower-case HTML element without a prefix");
75
76 test(function() {
77 var HTMLNS = "http://www.w3.org/1999/xhtml";
78 var element = document.createElementNS(HTMLNS, "html:span");
79 assert_equals(element.namespaceURI, HTMLNS);
80 assert_equals(element.prefix, "html");
81 assert_equals(element.localName, "span");
82 assert_equals(element.tagName, "HTML:SPAN");
83 assert_true(element instanceof Node, "Should be a Node");
84 assert_true(element instanceof Element, "Should be an Element");
85 assert_true(element instanceof HTMLElement, "Should be an HTMLElement");
86 assert_true(element instanceof HTMLSpanElement, "Should be an HTMLSpanElement" );
87 }, "Lower-case HTML element with a prefix");
88
89 test(function() {
90 var element = document.createElementNS("test", "span");
91 assert_equals(element.namespaceURI, "test");
92 assert_equals(element.prefix, null);
93 assert_equals(element.localName, "span");
94 assert_equals(element.tagName, "span");
95 assert_true(element instanceof Node, "Should be a Node");
96 assert_true(element instanceof Element, "Should be an Element");
97 assert_false(element instanceof HTMLElement, "Should not be an HTMLElement");
98 assert_false(element instanceof HTMLSpanElement, "Should not be an HTMLSpanEle ment");
99 }, "Lower-case non-HTML element without a prefix");
100
101 test(function() {
102 var element = document.createElementNS("test", "html:span");
103 assert_equals(element.namespaceURI, "test");
104 assert_equals(element.prefix, "html");
105 assert_equals(element.localName, "span");
106 assert_equals(element.tagName, "html:span");
107 assert_true(element instanceof Node, "Should be a Node");
108 assert_true(element instanceof Element, "Should be an Element");
109 assert_false(element instanceof HTMLElement, "Should not be an HTMLElement");
110 assert_false(element instanceof HTMLSpanElement, "Should not be an HTMLSpanEle ment");
111 }, "Lower-case non-HTML element with a prefix");
112
113 test(function() {
114 var HTMLNS = "http://www.w3.org/1999/xhtml";
115 var element = document.createElementNS(HTMLNS, "SPAN");
116 assert_equals(element.namespaceURI, HTMLNS);
117 assert_equals(element.prefix, null);
118 assert_equals(element.localName, "SPAN");
119 assert_equals(element.tagName, "SPAN");
120 assert_true(element instanceof Node, "Should be a Node");
121 assert_true(element instanceof Element, "Should be an Element");
122 assert_true(element instanceof HTMLElement, "Should be an HTMLElement");
123 assert_true(element instanceof HTMLUnknownElement, "Should be an HTMLUnknownEl ement");
124 assert_false(element instanceof HTMLSpanElement, "Should not be an HTMLSpanEle ment");
125 }, "Upper-case HTML element without a prefix");
126
127 test(function() {
128 var HTMLNS = "http://www.w3.org/1999/xhtml";
129 var element = document.createElementNS(HTMLNS, "html:SPAN");
130 assert_equals(element.namespaceURI, HTMLNS);
131 assert_equals(element.prefix, "html");
132 assert_equals(element.localName, "SPAN");
133 assert_equals(element.tagName, "HTML:SPAN");
134 assert_true(element instanceof Node, "Should be a Node");
135 assert_true(element instanceof Element, "Should be an Element");
136 assert_true(element instanceof HTMLElement, "Should be an HTMLElement");
137 assert_false(element instanceof HTMLSpanElement, "Should not be an HTMLSpanEle ment");
138 }, "Upper-case HTML element with a prefix");
139
140 test(function() {
141 var element = document.createElementNS("test", "SPAN");
142 assert_equals(element.namespaceURI, "test");
143 assert_equals(element.prefix, null);
144 assert_equals(element.localName, "SPAN");
145 assert_equals(element.tagName, "SPAN");
146 assert_true(element instanceof Node, "Should be a Node");
147 assert_true(element instanceof Element, "Should be an Element");
148 assert_false(element instanceof HTMLElement, "Should not be an HTMLElement");
149 assert_false(element instanceof HTMLSpanElement, "Should not be an HTMLSpanEle ment");
150 }, "Upper-case non-HTML element without a prefix");
151
152 test(function() {
153 var element = document.createElementNS("test", "html:SPAN");
154 assert_equals(element.namespaceURI, "test");
155 assert_equals(element.prefix, "html");
156 assert_equals(element.localName, "SPAN");
157 assert_equals(element.tagName, "html:SPAN");
158 assert_true(element instanceof Node, "Should be a Node");
159 assert_true(element instanceof Element, "Should be an Element");
160 assert_false(element instanceof HTMLElement, "Should not be an HTMLElement");
161 assert_false(element instanceof HTMLSpanElement, "Should not be an HTMLSpanEle ment");
162 }, "Upper-case non-HTML element with a prefix");
163
164 test(function() {
165 var element = document.createElementNS(null, "span");
166 assert_equals(element.namespaceURI, null);
167 assert_equals(element.prefix, null);
168 assert_equals(element.localName, "span");
169 assert_equals(element.tagName, "span");
170 assert_true(element instanceof Node, "Should be a Node");
171 assert_true(element instanceof Element, "Should be an Element");
172 assert_false(element instanceof HTMLElement, "Should not be an HTMLElement");
173 assert_false(element instanceof HTMLSpanElement, "Should not be an HTMLSpanEle ment");
174 }, "null namespace");
175
176 test(function() {
177 var element = document.createElementNS(undefined, "span");
178 assert_equals(element.namespaceURI, null);
179 assert_equals(element.prefix, null);
180 assert_equals(element.localName, "span");
181 assert_equals(element.tagName, "span");
182 assert_true(element instanceof Node, "Should be a Node");
183 assert_true(element instanceof Element, "Should be an Element");
184 assert_false(element instanceof HTMLElement, "Should not be an HTMLElement");
185 assert_false(element instanceof HTMLSpanElement, "Should not be an HTMLSpanEle ment");
186 }, "undefined namespace");
187
188 test(function() {
189 var element = document.createElementNS("", "span");
190 assert_equals(element.namespaceURI, null);
191 assert_equals(element.prefix, null);
192 assert_equals(element.localName, "span");
193 assert_equals(element.tagName, "span");
194 assert_true(element instanceof Node, "Should be a Node");
195 assert_true(element instanceof Element, "Should be an Element");
196 assert_false(element instanceof HTMLElement, "Should not be an HTMLElement");
197 assert_false(element instanceof HTMLSpanElement, "Should not be an HTMLSpanEle ment");
198 }, "empty string namespace");
199 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698