Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 <!DOCTYPE html> | |
|
dominicc (has gone to gerrit)
2016/07/19 01:57:39
I don't see any tests for:
- deep import trees
-
| |
| 2 <script src="../../resources/testharness.js"></script> | |
| 3 <script src="../../resources/testharnessreport.js"></script> | |
| 4 <script> | |
| 5 'use strict' | |
| 6 setup({ explicit_done: true }); | |
| 7 let reactions = []; | |
| 8 customElements.define('x-x', class extends HTMLElement { | |
| 9 constructor() { | |
| 10 super(); | |
| 11 reactions.push({ type: 'constructor', element: this }); | |
| 12 console.log("constructor", this); | |
| 13 } | |
| 14 }); | |
| 15 test(() => { | |
| 16 assert_equals(reactions.length, 0); | |
| 17 }, 'Should not have parsed <x-x> yet'); | |
| 18 </script> | |
| 19 | |
| 20 <x-x></x-x> | |
| 21 | |
| 22 <script> | |
| 23 test(() => { | |
| 24 assert_equals(reactions.length, 1); | |
| 25 }, 'Parser should invoke the custom element constructor'); | |
| 26 | |
| 27 let import1 = document.createElement('link'); | |
| 28 import1.rel = 'import'; | |
| 29 import1.href = 'resources/import-custom.html'; | |
| 30 document.head.appendChild(import1); | |
| 31 | |
| 32 import1.onload = () => { | |
| 33 test(() => { | |
| 34 assert_equals(reactions.length, 2); | |
| 35 }, 'import should invoke the custom element constructor'); | |
| 36 | |
| 37 let elementsInMaster = document.getElementsByTagName('x-x'); | |
| 38 let elementsInImport = import1.import.getElementsByTagName('x-x'); | |
| 39 test(() => { | |
| 40 assert_equals(reactions[0].element, elementsInMaster[0]); | |
| 41 assert_equals(reactions[1].element, elementsInImport[0]); | |
| 42 }, 'Constructor should run in the order elements are created'); | |
| 43 | |
| 44 done(); | |
| 45 }; | |
| 46 </script> | |
| OLD | NEW |