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

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

Issue 2048343002: Introduce CustomElementRegistry#whenDefined() method (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 2016-06-09T18:55:30 Created 4 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 side-by-side diff with in-line comments
Download patch
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>

Powered by Google App Engine
This is Rietveld 408576698