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

Side by Side Diff: third_party/WebKit/LayoutTests/custom-elements/spec/custom-elements-registry/when_defined.html

Issue 2277713002: Rename CustomElementsRegistry to CustomElementRegistry (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 3 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: CustomElementsRegistry.whenDefined</title> 2 <title>Custom Elements: CustomElementRegistry.whenDefined</title>
3 <script src="../../../resources/testharness.js"></script> 3 <script src="../../../resources/testharness.js"></script>
4 <script src="../../../resources/testharnessreport.js"></script> 4 <script src="../../../resources/testharnessreport.js"></script>
5 <script src="../resources/custom-elements-helpers.js"></script> 5 <script src="../resources/custom-elements-helpers.js"></script>
6 <body> 6 <body>
7 <div id="log"></div> 7 <div id="log"></div>
8 <script> 8 <script>
9 'use strict'; 9 'use strict';
10 (() => { 10 (() => {
11 // https://html.spec.whatwg.org/multipage/scripting.html#dom-customelementsreg istry-whendefined 11 // https://html.spec.whatwg.org/multipage/scripting.html#dom-customelementregi stry-whendefined
12 // Use window from iframe to isolate the test. 12 // Use window from iframe to isolate the test.
13 function setup() { 13 function setup() {
14 const iframe = document.createElement('iframe'); 14 const iframe = document.createElement('iframe');
15 document.body.appendChild(iframe); 15 document.body.appendChild(iframe);
16 const testWindow = iframe.contentWindow; 16 const testWindow = iframe.contentWindow;
17 const customElements = testWindow.customElements; 17 const customElements = testWindow.customElements;
18 if (!customElements) 18 if (!customElements)
19 return Promise.reject('This test requires window.customElements'); 19 return Promise.reject('This test requires window.customElements');
20 if (!('whenDefined' in customElements)) 20 if (!('whenDefined' in customElements))
21 return Promise.reject('This test requires window.customElements.whenDefine d'); 21 return Promise.reject('This test requires window.customElements.whenDefine d');
(...skipping 14 matching lines...) Expand all
36 // 5. Let promise be the value of the entry in map with key name. 36 // 5. Let promise be the value of the entry in map with key name.
37 // 6. Return promise 37 // 6. Return promise
38 assert_equals(promiseBeforeDefined, 38 assert_equals(promiseBeforeDefined,
39 customElements.whenDefined(kNameToBeDefined), 39 customElements.whenDefined(kNameToBeDefined),
40 'There is only one promise defined before.'); 40 'There is only one promise defined before.');
41 const promiseNotDefined = customElements.whenDefined(kNameNotDefined); 41 const promiseNotDefined = customElements.whenDefined(kNameNotDefined);
42 promiseNotDefined.then(() => notDefined = false); 42 promiseNotDefined.then(() => notDefined = false);
43 assert_not_equals(promiseBeforeDefined, promiseNotDefined, 43 assert_not_equals(promiseBeforeDefined, promiseNotDefined,
44 'whenDefined() returns different promises for different names.'); 44 'whenDefined() returns different promises for different names.');
45 customElements.define(kNameToBeDefined, class {}); 45 customElements.define(kNameToBeDefined, class {});
46 // 3. If this CustomElementsRegistry contains an entry with name name, 46 // 3. If this CustomElementRegistry contains an entry with name name,
47 // then return a new promise resolved with undefined and abort these 47 // then return a new promise resolved with undefined and abort these
48 // steps. 48 // steps.
49 const promiseAfterDefined = customElements.whenDefined(kNameToBeDefined); 49 const promiseAfterDefined = customElements.whenDefined(kNameToBeDefined);
50 promiseAfterDefined.then(() => afterDefined = true); 50 promiseAfterDefined.then(() => afterDefined = true);
51 assert_not_equals(promiseBeforeDefined, promiseAfterDefined, 51 assert_not_equals(promiseBeforeDefined, promiseAfterDefined,
52 'When name is defined, we should have a new promise.'); 52 'When name is defined, we should have a new promise.');
53 assert_not_equals(promiseAfterDefined, 53 assert_not_equals(promiseAfterDefined,
54 customElements.whenDefined(kNameToBeDefined), 54 customElements.whenDefined(kNameToBeDefined),
55 'Once name is defined, whenDefined() always returns a new promise.'); 55 'Once name is defined, whenDefined() always returns a new promise.');
56 return customElements; 56 return customElements;
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 }); 92 });
93 93
94 function promise_rejects_with_dom_exception_syntax_error(global_context, test, promise, description) { 94 function promise_rejects_with_dom_exception_syntax_error(global_context, test, promise, description) {
95 return promise.then(test.unreached_func("Should have rejected: " + descripti on)).catch(function(e) { 95 return promise.then(test.unreached_func("Should have rejected: " + descripti on)).catch(function(e) {
96 assert_throws_dom_exception(global_context, 'SYNTAX_ERR', function () { throw e; }) 96 assert_throws_dom_exception(global_context, 'SYNTAX_ERR', function () { throw e; })
97 }); 97 });
98 } 98 }
99 })(); 99 })();
100 </script> 100 </script>
101 </body> 101 </body>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698