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

Side by Side Diff: third_party/WebKit/LayoutTests/custom-elements/spec/define-element.html

Issue 2100403002: calling whenDefined with invalid name should throw SyntaxError (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: removing assert_throws_dom_exception Created 4 years, 5 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
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <title>Custom Elements: defineElement</title> 2 <title>Custom Elements: defineElement</title>
3 <link rel="help" href="https://html.spec.whatwg.org/multipage/scripting.html#cus tomelementsregistry"> 3 <link rel="help" href="https://html.spec.whatwg.org/multipage/scripting.html#cus tomelementsregistry">
4 <meta name="author" title="Dominic Cooney" href="mailto:dominicc@chromium.org"> 4 <meta name="author" title="Dominic Cooney" href="mailto:dominicc@chromium.org">
5 <script src="../../resources/testharness.js"></script> 5 <script src="../../resources/testharness.js"></script>
6 <script src="../../resources/testharnessreport.js"></script> 6 <script src="../../resources/testharnessreport.js"></script>
7 <script src="resources/custom-elements-helpers.js"></script> 7 <script src="resources/custom-elements-helpers.js"></script>
8 <body> 8 <body>
9 <script> 9 <script>
10 // TODO(dominicc): Merge these tests with 10 // TODO(dominicc): Merge these tests with
11 // https://github.com/w3c/web-platform-tests/pull/2940 11 // https://github.com/w3c/web-platform-tests/pull/2940
12 12
13 'use strict'; 13 'use strict';
14 14
15 function assert_throws_dom_exception(global_context, code, func, description) {
16 let exception;
17 assert_throws(code, () => {
18 try {
19 func.call(this);
20 } catch(e) {
21 exception = e;
22 throw e;
23 }
24 }, description);
25 assert_true(exception instanceof global_context.DOMException, 'DOMException on the appropriate window');
26 }
27
28 test_with_window((w) => { 15 test_with_window((w) => {
29 assert_throws(TypeError.prototype, () => { 16 assert_throws(TypeError.prototype, () => {
30 w.customElements.define('a-a', 42); 17 w.customElements.define('a-a', 42);
31 }, 'defining a number "constructor" should throw a TypeError'); 18 }, 'defining a number "constructor" should throw a TypeError');
32 assert_throws(TypeError.prototype, () => { 19 assert_throws(TypeError.prototype, () => {
33 w.customElements.define('a-a', () => {}); 20 w.customElements.define('a-a', () => {});
34 }, 'defining an arrow function "constructor" should throw a TypeError'); 21 }, 'defining an arrow function "constructor" should throw a TypeError');
35 assert_throws(TypeError.prototype, () => { 22 assert_throws(TypeError.prototype, () => {
36 w.customElements.define('a-a', { m() {} }.m); 23 w.customElements.define('a-a', { m() {} }.m);
37 }, 'defining a concise method "constructor" should throw a TypeError'); 24 }, 'defining a concise method "constructor" should throw a TypeError');
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 // step 2 325 // step 2
339 test_with_window((w) => { 326 test_with_window((w) => {
340 let invalid_name = 'annotation-xml'; 327 let invalid_name = 'annotation-xml';
341 assert_throws_dom_exception(w, 'SYNTAX_ERR', () => { 328 assert_throws_dom_exception(w, 'SYNTAX_ERR', () => {
342 w.customElements.define(invalid_name, class extends HTMLElement {}); 329 w.customElements.define(invalid_name, class extends HTMLElement {});
343 }, 'defining author-defined custom element constructor' + 330 }, 'defining author-defined custom element constructor' +
344 'should pass this step without throwing TypeError'); 331 'should pass this step without throwing TypeError');
345 }, 'Invalid constructor'); 332 }, 'Invalid constructor');
346 </script> 333 </script>
347 </body> 334 </body>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698