basic.html (2088B)
1 <!doctype html> 2 <script src="/resources/testharness.js"></script> 3 <script src="/resources/testharnessreport.js"></script> 4 <script src="/resources/testdriver.js"></script> 5 <script src="/resources/testdriver-vendor.js"></script> 6 <script src="/resources/testdriver-actions.js"></script> 7 <script src="resources/helpers.js"></script> 8 9 <body> 10 <script> 11 test(t => { 12 let events = []; 13 let watcher = createRecordingCloseWatcher(t, events); 14 15 watcher.requestClose(); 16 17 assert_array_equals(events, ["cancel[cancelable=true]", "close"]); 18 }, "requestClose() with no user activation"); 19 20 test(t => { 21 let events = []; 22 let watcher = createRecordingCloseWatcher(t, events); 23 24 watcher.destroy(); 25 watcher.requestClose(); 26 27 assert_array_equals(events, []); 28 }, "destroy() then requestClose()"); 29 30 test(t => { 31 let events = []; 32 let watcher = createRecordingCloseWatcher(t, events); 33 34 watcher.close(); 35 assert_array_equals(events, ["close"]); 36 37 watcher.requestClose(); 38 assert_array_equals(events, ["close"]); 39 }, "close() then requestClose()"); 40 41 test(t => { 42 let events = []; 43 let watcher = createRecordingCloseWatcher(t, events); 44 45 watcher.requestClose(); 46 assert_array_equals(events, ["cancel[cancelable=true]", "close"]); 47 48 watcher.destroy(); 49 assert_array_equals(events, ["cancel[cancelable=true]", "close"]); 50 }, "requestClose() then destroy()"); 51 52 test(t => { 53 let events = []; 54 let watcher = createRecordingCloseWatcher(t, events); 55 56 watcher.close(); 57 assert_array_equals(events, ["close"]); 58 59 watcher.destroy(); 60 assert_array_equals(events, ["close"]); 61 }, "close() then destroy()"); 62 63 promise_test(async t => { 64 let events = []; 65 let watcher = createRecordingCloseWatcher(t, events); 66 67 watcher.destroy(); 68 await sendCloseRequest(); 69 70 assert_array_equals(events, []); 71 }, "destroy() then close request"); 72 73 promise_test(async t => { 74 let events = []; 75 let watcher = createRecordingCloseWatcher(t, events); 76 77 await sendCloseRequest(); 78 watcher.destroy(); 79 80 assert_array_equals(events, ["cancel[cancelable=false]", "close"]); 81 }, "Close request then destroy()"); 82 </script>