trisquel-icecat/icecat/testing/web-platform/tests/pointerlock/pointerlock_unadjustedMovement.html
2025-10-06 02:35:48 -06:00

42 lines
1.6 KiB
HTML

<!DOCTYPE html>
<html>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-actions.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
</head>
<body>
<h2>Description</h2>
<p>This test validates that pointer lock accepts the unadjustedMovement option.</p>
<hr/>
<button id="Button">lockTarget</button>
<div id="target">Target</div>
<script type="text/javascript" >
const button = document.getElementById('Button');
const target = document.getElementById('target');
async_test(t => {
button.addEventListener('mousedown', t.step_func(() => {
const p = target.requestPointerLock({unadjustedMovement: true});
p.then(t.step_func(() => {
assert_equals(document.pointerLockElement, target);
t.done();
})).catch(t.step_func((error) => {
// requestPointerLock may throw NotSupportedError to say unadjustedMovement isn't supported.
assert_throws_dom("NotSupportedError", () => { throw error; });
// but to pass this test fully, it unadjustedMovement must be supported.
assert_unreached("unadjustedMovement must be implemented.");
t.done();
}));
}));
});
// Automated testing
test_driver.click(button);
</script>
</body>
</html>