event-before-promise.html (993B)
1 <!DOCTYPE html> 2 <meta charset="utf-8" /> 3 <meta viewport="width=device-width, initial-scale=1" /> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <script src="/resources/testdriver.js"></script> 7 <script src="/resources/testdriver-vendor.js"></script> 8 <script type="module"> 9 import { 10 getOppositeOrientation, 11 makeCleanup, 12 } from "./resources/orientation-utils.js"; 13 14 promise_test(async (t) => { 15 t.add_cleanup(makeCleanup()); 16 await test_driver.bless("request full screen"); 17 await document.documentElement.requestFullscreen(); 18 const result = await Promise.race([ 19 new Promise((resolve) => { 20 screen.orientation.addEventListener("change", resolve); 21 }), 22 screen.orientation.lock(getOppositeOrientation()) 23 ]); 24 assert_true(result instanceof Event, "Expected an instance of Event"); 25 }, "The 'change' event must fire before the [[orientationPendingPromise]] is resolved."); 26 </script>