Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/custom-elements/spec/custom-elements-registry/when_defined.html |
| diff --git a/third_party/WebKit/LayoutTests/custom-elements/spec/custom-elements-registry/get.html b/third_party/WebKit/LayoutTests/custom-elements/spec/custom-elements-registry/when_defined.html |
| similarity index 51% |
| copy from third_party/WebKit/LayoutTests/custom-elements/spec/custom-elements-registry/get.html |
| copy to third_party/WebKit/LayoutTests/custom-elements/spec/custom-elements-registry/when_defined.html |
| index da310db308dea24ae654b3e9e898b6f2384b5911..5e48c1f232721a570170b9e15f3c1e23ab7ba55e 100644 |
| --- a/third_party/WebKit/LayoutTests/custom-elements/spec/custom-elements-registry/get.html |
| +++ b/third_party/WebKit/LayoutTests/custom-elements/spec/custom-elements-registry/when_defined.html |
| @@ -1,9 +1,5 @@ |
| <!DOCTYPE html> |
| -<!-- |
| -TODO(yosin): We should upstream to wpt test. |
| -This file is taken from https://github.com/kojiishi/web-platform-tests/blob/53908d773012edf931047674f7afe3975bc1820f/custom-elements/custom-elements-registry/get.html |
| ---> |
| -<title>Custom Elements: CustomElementsRegistry.get</title> |
| +<title>Custom Elements: CustomElementsRegistry.whenDefined</title> |
| <script src="../../../resources/testharness.js"></script> |
| <script src="../../../resources/testharnessreport.js"></script> |
| <body> |
| @@ -20,24 +16,27 @@ This file is taken from https://github.com/kojiishi/web-platform-tests/blob/5390 |
| const customElements = testWindow.customElements; |
| if (!customElements) |
| return Promise.reject('This test requires window.customElements'); |
| - if (!('get' in customElements)) |
| - return Promise.reject('This test requires window.customElements.get'); |
| + if (!('whenDefined' in customElements)) |
| + return Promise.reject('This test requires window.customElements.whenDefined'); |
| return Promise.resolve(customElements); |
| } |
| + const kNameToBeDefined = 'x-foo'; |
| + const kNameNotDefined = 'x-bar'; |
| + let beforeDefined = false; |
| + let notDefined = true; |
| + let afterDefined = false; |
| promise_test(() => setup() |
| .then(customElements => { |
| - // 1. If this CustomElementsRegistry contains an entry with name name, |
| - // then return that entry's constructor. |
| - const name = 'test-get-existing'; |
| - class C extends HTMLElement {}; |
| - customElements.define(name, C); |
| - assert_equals(customElements.get(name), C, 'get() returns the constructor') |
| - return Promise.resolve(customElements); |
| + customElements.whenDefined(kNameToBeDefined).then(() => beforeDefined = true); |
| + customElements.whenDefined(kNameNotDefined).then(() => notDefined = false); |
| + customElements.define(kNameToBeDefined, class {}); |
| + customElements.whenDefined(kNameToBeDefined).then(() => afterDefined = true); |
| + return customElements; |
| }).then(customElements => { |
| - // 2. Otherwise, return undefined. |
| - assert_equals(customElements.get('test-get-not-defined'), undefined, |
| - 'get() returns undefined for not-defined name'); |
| + assert_true(beforeDefined, 'promise before defined should be resolved.'); |
| + assert_true(afterDefined, 'promise after defined should be resolved.'); |
| + assert_true(notDefined, 'promise for not defined name should not be resolved.'); |
| }).catch(reason => { throw reason })); |
|
dominicc (has gone to gerrit)
2016/06/10 06:20:57
I think the spec additionally requires that the sa
yosin_UTC9
2016/06/10 07:52:28
Here is summary:
- After defined: spec says whenD
|
| })(); |
| </script> |