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

Unified Diff: third_party/WebKit/LayoutTests/custom-elements/imports/async-nested-imports.html

Issue 2242743002: Make custom elements work in HTML imports (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addresses tkent's comments. Created 4 years, 4 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/imports/async-nested-imports.html
diff --git a/third_party/WebKit/LayoutTests/custom-elements/imports/async-nested-imports.html b/third_party/WebKit/LayoutTests/custom-elements/imports/async-nested-imports.html
new file mode 100644
index 0000000000000000000000000000000000000000..c2643d96aebe509bd8d8f1953fb9834146dd10b7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/custom-elements/imports/async-nested-imports.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<script src="../../resources/testharness.js"></script>
+<script src="../../resources/testharnessreport.js"></script>
+<script src="../spec/resources/custom-elements-helpers.js"></script>
+<script>
+'use strict';
+
+let constructors = [];
+</script>
+<link id="import1" rel="import" href="resources/async-nested-component.html" async>
+<script>
+'use strict';
+
+async_test((test) => {
+ import1.onload = test.step_func_done(() => {
+ let n1 = import1.import.querySelector('a-a');
+ let n2 = import1.import.querySelector('b-b');
+ let n3 = import1.import.querySelector('c-c');
+
+ assert_is_upgraded(n1, NestedLevel1, 'nested-level1 in import should be custom');
+ assert_is_upgraded(n2, NestedLevel2, 'nested-level2 in import should be custom');
+ assert_is_upgraded(n3, NestedLevel3, 'nested-level3 in import should be custom');
+
+ // As subimports are sync, the upgrade order should be the order of script execution.
+ let types = constructors.map(e => e.type);
+ assert_array_equals(types, ['nested-level3', 'nested-level2', 'nested-level1'],
+ 'upgrade order should be the order of script execution in imports');
+ }, 'top-level async import should properly run dependent subimports and get elements defined.');
+}, 'custom elements defined in nested imports from an async import should work.');
+</script>

Powered by Google App Engine
This is Rietveld 408576698