From 6bf0a5cb5034a7e684dcc3500e841785237ce2dd Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 19:32:43 +0200 Subject: Adding upstream version 1:115.7.0. Signed-off-by: Daniel Baumann --- .../basics.tentative.https.window.js | 98 ++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 testing/web-platform/tests/idle-detection/basics.tentative.https.window.js (limited to 'testing/web-platform/tests/idle-detection/basics.tentative.https.window.js') diff --git a/testing/web-platform/tests/idle-detection/basics.tentative.https.window.js b/testing/web-platform/tests/idle-detection/basics.tentative.https.window.js new file mode 100644 index 0000000000..32cb6204b9 --- /dev/null +++ b/testing/web-platform/tests/idle-detection/basics.tentative.https.window.js @@ -0,0 +1,98 @@ +// META: script=/resources/testdriver.js +// META: script=/resources/testdriver-vendor.js +// META: title=Idle Detection API: Basics + +'use strict'; + +promise_setup(async t => { + await test_driver.set_permission({name: 'idle-detection'}, 'granted'); +}) + +promise_test(async t => { + let detector = new IdleDetector(); + let watcher = new EventWatcher(t, detector, ["change"]); + let initial_state = watcher.wait_for("change"); + + await detector.start(); + await initial_state; + + assert_true(['active', 'idle'].includes(detector.userState), + 'has a valid user state'); + assert_true(['locked', 'unlocked'].includes(detector.screenState), + 'has a valid screen state'); +}, 'start() basics'); + +promise_test(async t => { + let used = false; + + const detector = new IdleDetector(); + detector.start({ + get threshold() { + used = true; + return 60000; + } + }); + + assert_true(used, 'start() options "threshold" member was used'); +}, 'start() uses threshold property'); + +promise_test(async t => { + let used = false; + + const controller = new AbortController(); + const detector = new IdleDetector(); + detector.start({ + get signal() { + used = true; + return controller.signal; + } + }); + + assert_true(used, 'start() options "signal" member was used'); +}, 'start() uses signal property'); + + +promise_test(async t => { + const detector = new IdleDetector(); + await promise_rejects_js(t, TypeError, detector.start({threshold: 0})); +}, 'start() rejects with invalid threshold (0)'); + +promise_test(async t => { + const detector = new IdleDetector(); + await promise_rejects_js(t, TypeError, detector.start({threshold: 59000})); +}, 'start() rejects with threshold below minimum (59000)'); + +promise_test(async t => { + const detector = new IdleDetector(); + await detector.start({threshold: 60000}); +}, 'start() rejects threshold (60000)'); + +promise_test(async t => { + const detector = new IdleDetector(); + await detector.start({threshold: 61000}); +}, 'start() allows threshold (61000)'); + +promise_test(async t => { + const detector = new IdleDetector(); + await promise_rejects_js(t, TypeError, detector.start({threshold: null})); +}, 'start() rejects with invalid threshold (null)'); + +promise_test(async t => { + const detector = new IdleDetector(); + await promise_rejects_js(t, TypeError, detector.start({threshold: -1})); +}, 'start() rejects with invalid threshold (-1)'); + +promise_test(async t => { + const detector = new IdleDetector(); + await promise_rejects_js(t, TypeError, detector.start({threshold: NaN})); +}, 'start() rejects with invalid threshold (NaN)'); + +promise_test(async t => { + const detector = new IdleDetector(); + await detector.start(); +}, 'start() uses a default value for the threshold when none is passed'); + +promise_test(async t => { + const detector = new IdleDetector(); + await detector.start({threshold: undefined}); +}, 'start() uses a default value for the threshold'); -- cgit v1.2.3