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..ff05a7e5991f7ca0b265face0ab23ecfcd455b9a |
--- /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> |
+'use strict'; |
+let constructors = []; |
+</script> |
+<link rel="import" href="resources/async-nested-component.html" async> |
+<script> |
+'use strict'; |
+setup({ explicit_done: true }); |
dominicc (has gone to gerrit)
2016/08/22 01:46:36
I think async_test is better than explicit done. a
kochi
2016/08/22 07:37:34
Done.
|
+ |
+let link = document.querySelector('link[rel=import]'); |
+link.onload = () => { |
+ test(() => { |
+ let n1 = link.import.querySelector('a-a'); |
+ let n2 = link.import.querySelector('b-b'); |
+ let n3 = link.import.querySelector('c-c'); |
+ |
+ assert_true(n1 instanceof NestedLevel1, 'nested-level1 in import should be custom'); |
+ assert_true(n2 instanceof NestedLevel2, 'nested-level2 in import should be custom'); |
+ assert_true(n3 instanceof 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']); |
+ }, 'top-level async import should properly run dependent subimports and get elements defined.'); |
+ done(); |
+} |
+</script> |