blob: 381e1e40f1cfb676e33d5c0374924164f4f6e2de [file] [log] [blame]
<!DOCTYPE html>
<meta charset="utf-8">
<title>Wake Lock 'onactivechange' Test</title>
<link rel="help" href="https://w3c.github.io/wake-lock/">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
promise_test(async t => {
const wakeLock = new WakeLock("screen");
const eventWatcher = new EventWatcher(t, wakeLock, "activechange");
assert_false(wakeLock.active, "the active is false before wake lock is acquired");
const controller = new AbortController();
const signal = controller.signal;
await wakeLock.request({ signal });
let evt1 = await eventWatcher.wait_for("activechange");
assert_true(evt1.isTrusted && !evt1.bubbles && !evt1.cancelable && evt1 instanceof Event, "a simple event is fired");
assert_equals(evt1.type, "activechange", "the event name is 'activechange'");
assert_equals(evt1.target, wakeLock, "event.target is WakeLock.");
assert_true(wakeLock.active, "the active is true when wake lock is acquired");
controller.abort();
let evt2 = await eventWatcher.wait_for("activechange");
assert_true(evt2.isTrusted && !evt2.bubbles && !evt2.cancelable && evt2 instanceof Event, "a simple event is fired");
assert_false(wakeLock.active, "the active is false when wake lock is released");
}, "Test that 'activechange' event is fire and wakeLock.active is valid");
</script>