| Index: third_party/WebKit/LayoutTests/fast/dom/shadow/slotchange-event.html
|
| diff --git a/third_party/WebKit/LayoutTests/fast/dom/shadow/v1-slots-api-dynamic.html b/third_party/WebKit/LayoutTests/fast/dom/shadow/slotchange-event.html
|
| similarity index 55%
|
| copy from third_party/WebKit/LayoutTests/fast/dom/shadow/v1-slots-api-dynamic.html
|
| copy to third_party/WebKit/LayoutTests/fast/dom/shadow/slotchange-event.html
|
| index 5d51a088946ff107b36b221d01c36441d1d0a86f..424c0c402c7b1ada63c526462ee1aa996e1e026e 100644
|
| --- a/third_party/WebKit/LayoutTests/fast/dom/shadow/v1-slots-api-dynamic.html
|
| +++ b/third_party/WebKit/LayoutTests/fast/dom/shadow/slotchange-event.html
|
| @@ -18,7 +18,9 @@
|
| convertTemplatesToShadowRootsWithin(d1);
|
| removeWhiteSpaceOnlyTextNodes(d1);
|
|
|
| -test(() => {
|
| +async_test((test) => {
|
| + var count = 0;
|
| +
|
| const d1_s1 = d1_shadow.querySelector('slot');
|
| const d1_d1_s1 = d1_d1_shadow.querySelector('slot');
|
|
|
| @@ -28,15 +30,34 @@ test(() => {
|
| assert_array_equals(d1_d1_s1.getAssignedNodes(), [d1_s1]);
|
| assert_array_equals(d1_d1_s1.getAssignedNodes({'flatten': true}), [d2]);
|
|
|
| + d1_s1.addEventListener('slotchange', (e) => {
|
| + test.step(() => {
|
| + assert_equals(e.target, d1_s1);
|
| + assert_array_equals(d1_s1.getAssignedNodes(), [d2, d3]);
|
| + assert_array_equals(d1_s1.getAssignedNodes({'flatten': true}), [d2, d3]);
|
| + assert_array_equals(e.scoped, true);
|
| + count++;
|
| + // The order when a slotchange event is dispatched in the slots is not guranteed.
|
| + if (count == 2)
|
| + test.done();
|
| + });
|
| + });
|
| +
|
| + d1_d1_s1.addEventListener('slotchange', (e) => {
|
| + test.step(() => {
|
| + assert_equals(e.target, d1_d1_s1);
|
| + assert_array_equals(d1_d1_s1.getAssignedNodes(), [d1_s1]);
|
| + assert_array_equals(d1_d1_s1.getAssignedNodes({'flatten': true}), [d2, d3]);
|
| + assert_array_equals(e.scoped, true);
|
| + count++;
|
| + if (count == 2)
|
| + test.done();
|
| + });
|
| + });
|
| +
|
| const d3 = document.createElement('div');
|
| d3.setAttribute('id', 'd3');
|
| d3.setAttribute('slot', 'd1-s1');
|
| d1.appendChild(d3);
|
| -
|
| - assert_array_equals(d1_s1.getAssignedNodes(), [d2, d3]);
|
| - assert_array_equals(d1_s1.getAssignedNodes({'flatten': true}), [d2, d3]);
|
| -
|
| - assert_array_equals(d1_d1_s1.getAssignedNodes(), [d1_s1]);
|
| - assert_array_equals(d1_d1_s1.getAssignedNodes({'flatten': true}), [d2, d3]);
|
| -}, "Distribution should be re-calcualted when assigned nodes of a slot in the parent tree is changed");
|
| +}, "slotchange event should be dispatched.");
|
| </script>
|
|
|