OLD | NEW |
1 description("createElementNS tests from mozilla, attached to webkit bug 16833"); | 1 description("createElementNS tests from mozilla, attached to webkit bug 16833"); |
2 | 2 |
3 function assert(c, m) | 3 function assert(c, m) |
4 { | 4 { |
5 if (!c) | 5 if (!c) |
6 testFailed(m); | 6 testFailed(m); |
7 else | 7 else |
8 testPassed(m); | 8 testPassed(m); |
9 } | 9 } |
10 | 10 |
(...skipping 19 matching lines...) Expand all Loading... |
30 testFailed(m); | 30 testFailed(m); |
31 } else { | 31 } else { |
32 m += "; threw " + stringForExceptionCode(actual);; | 32 m += "; threw " + stringForExceptionCode(actual);; |
33 testPassed(m); | 33 testPassed(m); |
34 } | 34 } |
35 } | 35 } |
36 | 36 |
37 var allNSTests = [ | 37 var allNSTests = [ |
38 { args: [undefined, undefined] }, | 38 { args: [undefined, undefined] }, |
39 { args: [null, undefined] }, | 39 { args: [null, undefined] }, |
40 { args: [undefined, null], code: 5 }, | 40 { args: [undefined, null] }, |
41 { args: [null, null], code: 5 }, | 41 { args: [null, null] }, |
42 { args: [null, ""], code: 5 }, | 42 { args: [null, ""], code: 5 }, |
43 { args: ["", null], code: 5 }, | 43 { args: ["", null] }, |
44 { args: ["", ""], code: 5 }, | 44 { args: ["", ""], code: 5 }, |
45 { args: [null, "<div>"], code: 5 }, | 45 { args: [null, "<div>"], code: 5 }, |
46 { args: [null, "0div"], code: 5 }, | 46 { args: [null, "0div"], code: 5 }, |
47 { args: [null, "di v"], code: 5 }, | 47 { args: [null, "di v"], code: 5 }, |
48 { args: [null, "di<v"], code: 5 }, | 48 { args: [null, "di<v"], code: 5 }, |
49 { args: [null, "-div"], code: 5 }, | 49 { args: [null, "-div"], code: 5 }, |
50 { args: [null, ".div"], code: 5 }, | 50 { args: [null, ".div"], code: 5 }, |
51 { args: ["http://example.com/", "<div>"], code: 5 }, | 51 { args: ["http://example.com/", "<div>"], code: 5 }, |
52 { args: ["http://example.com/", "0div"], code: 5 }, | 52 { args: ["http://example.com/", "0div"], code: 5 }, |
53 { args: ["http://example.com/", "di<v"], code: 5 }, | 53 { args: ["http://example.com/", "di<v"], code: 5 }, |
(...skipping 25 matching lines...) Expand all Loading... |
79 { args: ["http://example.com/", "xml:test"], code: 14, message: "binding xml
prefix wrong" }, | 79 { args: ["http://example.com/", "xml:test"], code: 14, message: "binding xml
prefix wrong" }, |
80 { args: ["http://example.com/", "xmlns:test"], code: 14, message: "binding xm
lns prefix wrong" }, | 80 { args: ["http://example.com/", "xmlns:test"], code: 14, message: "binding xm
lns prefix wrong" }, |
81 { args: ["http://www.w3.org/2000/xmlns/", "x:test"], code: 14, message: "bind
ing namespace namespace to wrong prefix" }, | 81 { args: ["http://www.w3.org/2000/xmlns/", "x:test"], code: 14, message: "bind
ing namespace namespace to wrong prefix" }, |
82 { args: ["http://www.w3.org/2000/xmlns/", "xmlns:test"] }, | 82 { args: ["http://www.w3.org/2000/xmlns/", "xmlns:test"] }, |
83 { args: ["http://www.w3.org/XML/1998/namespace", "xml:test"] }, | 83 { args: ["http://www.w3.org/XML/1998/namespace", "xml:test"] }, |
84 { args: ["http://www.w3.org/XML/1998/namespace", "x:test"] }, | 84 { args: ["http://www.w3.org/XML/1998/namespace", "x:test"] }, |
85 ]; | 85 ]; |
86 | 86 |
87 var allNoNSTests = [ | 87 var allNoNSTests = [ |
88 { args: [undefined] }, | 88 { args: [undefined] }, |
89 { args: [null], code: 5 }, | 89 { args: [null] }, |
90 { args: [""], code: 5 }, | 90 { args: [""], code: 5 }, |
91 { args: ["<div>"], code: 5 }, | 91 { args: ["<div>"], code: 5 }, |
92 { args: ["0div"], code: 5 }, | 92 { args: ["0div"], code: 5 }, |
93 { args: ["di v"], code: 5 }, | 93 { args: ["di v"], code: 5 }, |
94 { args: ["di<v"], code: 5 }, | 94 { args: ["di<v"], code: 5 }, |
95 { args: ["-div"], code: 5 }, | 95 { args: ["-div"], code: 5 }, |
96 { args: [".div"], code: 5 }, | 96 { args: [".div"], code: 5 }, |
97 { args: [":"], message: "valid XML name, invalid QName" }, | 97 { args: [":"], message: "valid XML name, invalid QName" }, |
98 { args: [":div"], message: "valid XML name, invalid QName" }, | 98 { args: [":div"], message: "valid XML name, invalid QName" }, |
99 { args: ["div:"], message: "valid XML name, invalid QName" }, | 99 { args: ["div:"], message: "valid XML name, invalid QName" }, |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
150 msg += "; " + test.message; | 150 msg += "; " + test.message; |
151 try { | 151 try { |
152 doc[createFunctionName].apply(doc, test.args); | 152 doc[createFunctionName].apply(doc, test.args); |
153 assert(!("code" in test), msg); | 153 assert(!("code" in test), msg); |
154 } catch (e) { | 154 } catch (e) { |
155 assertEquals(e.code, test.code || "expected no exception", msg); | 155 assertEquals(e.code, test.code || "expected no exception", msg); |
156 } | 156 } |
157 } | 157 } |
158 } | 158 } |
159 | 159 |
160 // Moz throws a "Not enough arguments" exception in these, we don't: | |
161 shouldBeEqualToString("document.createElementNS().toString()", "[object Element]
"); | |
162 shouldBeEqualToString("document.createElementNS(\"http://www.example.com\").toSt
ring()", "[object Element]"); | |
163 | |
164 debug("HTML tests:") | 160 debug("HTML tests:") |
165 runNSTests(allNSTests, document, "createElementNS"); | 161 runNSTests(allNSTests, document, "createElementNS"); |
166 runNSTests(allNoNSTests, document, "createElement"); | 162 runNSTests(allNoNSTests, document, "createElement"); |
167 | 163 |
168 debug("XHTML createElement tests:") | 164 debug("XHTML createElement tests:") |
169 var xhtmlDoc = document.implementation.createDocument("http://www.w3.org/1999/xh
tml", "html", null); | 165 var xhtmlDoc = document.implementation.createDocument("http://www.w3.org/1999/xh
tml", "html", null); |
170 runNSTests(allNoNSTests, xhtmlDoc, "createElement"); | 166 runNSTests(allNoNSTests, xhtmlDoc, "createElement"); |
171 | 167 |
172 debug("XML createElement tests:") | 168 debug("XML createElement tests:") |
173 var xmlDoc = document.implementation.createDocument("http://www.example.com/foo"
, "example", null); | 169 var xmlDoc = document.implementation.createDocument("http://www.example.com/foo"
, "example", null); |
174 runNSTests(allNoNSTests, xmlDoc, "createElement"); | 170 runNSTests(allNoNSTests, xmlDoc, "createElement"); |
OLD | NEW |