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

Side by Side Diff: LayoutTests/fast/dom/custom/document-register-basic.html

Issue 16818023: DOMException toString is not correct (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: rebase Created 7 years, 6 months 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 | Annotate | Revision Log
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html> 2 <html>
3 <head> 3 <head>
4 <script src="../../js/resources/js-test-pre.js"></script> 4 <script src="../../js/resources/js-test-pre.js"></script>
5 </head> 5 </head>
6 <body> 6 <body>
7 <div id="container"></div> 7 <div id="container"></div>
8 <script> 8 <script>
9 description("Testing document.register() basic behaviors."); 9 description("Testing document.register() basic behaviors.");
10 10
11 if (window.testRunner) 11 if (window.testRunner)
12 testRunner.dumpAsText(); 12 testRunner.dumpAsText();
13 13
14 function createRegisterParamters() 14 function createRegisterParamters()
15 { 15 {
16 return { 16 return {
17 prototype: Object.create(HTMLElement.prototype, { thisIsPrototype: { val ue: true } }) 17 prototype: Object.create(HTMLElement.prototype, { thisIsPrototype: { val ue: true } })
18 }; 18 };
19 } 19 }
20 20
21 // Invalid names 21 // Invalid names
22 shouldThrow("document.register('foo', createRegisterParamters())", "'Error: Inva lidCharacterError: DOM Exception 5'"); 22 shouldThrow("document.register('foo', createRegisterParamters())", "'InvalidChar acterError: An invalid or illegal character was specified, such as in an XML nam e.'");
23 shouldThrow("document.register('xfoo', createRegisterParamters())", "'Error: Inv alidCharacterError: DOM Exception 5'"); 23 shouldThrow("document.register('xfoo', createRegisterParamters())", "'InvalidCha racterError: An invalid or illegal character was specified, such as in an XML na me.'");
24 shouldThrow("document.register('missing-glyph', createRegisterParamters())", "'E rror: InvalidCharacterError: DOM Exception 5'"); 24 shouldThrow("document.register('missing-glyph', createRegisterParamters())", "'I nvalidCharacterError: An invalid or illegal character was specified, such as in an XML name.'");
25 25
26 var fooConstructor = document.register("x-foo", createRegisterParamters()); 26 var fooConstructor = document.register("x-foo", createRegisterParamters());
27 shouldBe("typeof fooConstructor", "'function'"); 27 shouldBe("typeof fooConstructor", "'function'");
28 shouldBe("fooConstructor.prototype.__proto__", "HTMLElement.prototype"); 28 shouldBe("fooConstructor.prototype.__proto__", "HTMLElement.prototype");
29 shouldBeTrue("fooConstructor.prototype.thisIsPrototype"); 29 shouldBeTrue("fooConstructor.prototype.thisIsPrototype");
30 30
31 // Name conflicts 31 // Name conflicts
32 shouldThrow("document.register('x-foo', createRegisterParamters())", "'Error: In validStateError: DOM Exception 11'"); 32 shouldThrow("document.register('x-foo', createRegisterParamters())", "'InvalidSt ateError: An attempt was made to use an object that is not, or is no longer, usa ble.'");
33 shouldThrow("document.register('X-FOO', createRegisterParamters())", "'Error: In validStateError: DOM Exception 11'"); 33 shouldThrow("document.register('X-FOO', createRegisterParamters())", "'InvalidSt ateError: An attempt was made to use an object that is not, or is no longer, usa ble.'");
34 34
35 // Bad prototype: constructor property exists 35 // Bad prototype: constructor property exists
36 shouldThrow("document.register('x-bad-a', { prototype: HTMLElement.prototype })" , "'Error: InvalidStateError: DOM Exception 11'"); 36 shouldThrow("document.register('x-bad-a', { prototype: HTMLElement.prototype })" , "'InvalidStateError: An attempt was made to use an object that is not, or is n o longer, usable.'");
37 // Bad prototype: missing __proto__ 37 // Bad prototype: missing __proto__
38 shouldThrow("document.register('x-bad-b', { prototype: {} })", "'Error: InvalidS tateError: DOM Exception 11'"); 38 shouldThrow("document.register('x-bad-b', { prototype: {} })", "'InvalidStateErr or: An attempt was made to use an object that is not, or is no longer, usable.'" );
39 // Bad prototype: wrong __proto__ 39 // Bad prototype: wrong __proto__
40 shouldThrow("document.register('x-bad-c', { prototype: Object.create(Document.pr ototype) })", "'Error: InvalidStateError: DOM Exception 11'"); 40 shouldThrow("document.register('x-bad-c', { prototype: Object.create(Document.pr ototype) })", "'InvalidStateError: An attempt was made to use an object that is not, or is no longer, usable.'");
41 // Call as function 41 // Call as function
42 shouldThrow("fooConstructor()", "'TypeError: DOM object constructor cannot be ca lled as a function.'") 42 shouldThrow("fooConstructor()", "'TypeError: DOM object constructor cannot be ca lled as a function.'")
43 43
44 // Constructor initiated instantiation 44 // Constructor initiated instantiation
45 var createdFoo = new fooConstructor(); 45 var createdFoo = new fooConstructor();
46 46
47 // JS built-in properties 47 // JS built-in properties
48 shouldBe("createdFoo.__proto__", "fooConstructor.prototype"); 48 shouldBe("createdFoo.__proto__", "fooConstructor.prototype");
49 shouldBe("createdFoo.constructor", "fooConstructor"); 49 shouldBe("createdFoo.constructor", "fooConstructor");
50 50
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 107
108 // Constructor shouldn't interfere each otehr 108 // Constructor shouldn't interfere each otehr
109 shouldBe("(new fooConstructor).tagName", "'X-FOO'"); 109 shouldBe("(new fooConstructor).tagName", "'X-FOO'");
110 shouldBe("(new barConstructor).tagName", "'X-BAR'"); 110 shouldBe("(new barConstructor).tagName", "'X-BAR'");
111 shouldBe("(new bazConstructor).tagName", "'X-BAZ'"); 111 shouldBe("(new bazConstructor).tagName", "'X-BAZ'");
112 112
113 </script> 113 </script>
114 <script src="../../js/resources/js-test-post.js"></script> 114 <script src="../../js/resources/js-test-post.js"></script>
115 </body> 115 </body>
116 </html> 116 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698