| <!DOCTYPE html> |
| <link rel=author href="mailto:jarhar@chromium.org"> |
| <link rel=help href="https://github.com/whatwg/html/pull/9462"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/resources/testdriver.js"></script> |
| <script src="/resources/testdriver-vendor.js"></script> |
| <script src="/resources/testdriver-actions.js"></script> |
| <script src="../resources/helpers.js"></script> |
| |
| <button id=b0>b0</button> |
| |
| <div id=p1 popover=auto> |
| <button id=b1>b1</button> |
| |
| <div id=p2 popover=auto> |
| <button id=b2>b2</button> |
| |
| <div id=p3 popover=auto>p3</div> |
| </div> |
| </div> |
| |
| <script> |
| promise_test(async () => { |
| await test_driver.click(b0); |
| p1.showPopover(); |
| await test_driver.click(b1); |
| p2.showPopover(); |
| await test_driver.click(b2); |
| p3.showPopover(); |
| assert_true(p1.matches(':popover-open'), 'p1 should be open.'); |
| assert_true(p2.matches(':popover-open'), 'p2 should be open.'); |
| assert_true(p3.matches(':popover-open'), 'p3 should be open.'); |
| |
| await sendCloseRequest(); |
| assert_true(p1.matches(':popover-open'), 'first escape: p1 should be open.'); |
| assert_true(p2.matches(':popover-open'), 'first escape: p2 should be open.'); |
| assert_false(p3.matches(':popover-open'), 'first escape: p3 should be closed.'); |
| |
| await sendCloseRequest(); |
| assert_true(p1.matches(':popover-open'), 'second escape: p1 should be open.'); |
| assert_false(p2.matches(':popover-open'), 'second escape: p2 should be closed.'); |
| assert_false(p3.matches(':popover-open'), 'second escape: p3 should be closed.'); |
| |
| await sendCloseRequest(); |
| assert_false(p1.matches(':popover-open'), 'third escape: p1 should be closed.'); |
| assert_false(p2.matches(':popover-open'), 'third escape: p2 should be closed.'); |
| assert_false(p3.matches(':popover-open'), 'third escape: p3 should be closed.'); |
| }, 'Create three popovers with user activation'); |
| </script> |