fune/testing/web-platform/tests/web-locks/query-empty.https.any.js
Kagami Sascha Rosylight d79e8ec3f8 Bug 1878367 - Mark Web Locks tests non-tentative r=smaug
This removes `tentative` from Web Locks tests which all three engines are passing. A couple of exceptions from https://wpt.fyi/results/web-locks?label=experimental&label=master&aligned

* clientids: The test follows the spec, I think this is a Chrome bug. (https://w3c.github.io/web-locks/#dom-lockmanager-request, the use of environment's id)
* signal: A couple of WebKit failures because of lack of AbortSignal custom reason support.

Differential Revision: https://phabricator.services.mozilla.com/D200477
2024-02-05 17:42:44 +00:00

18 lines
792 B
JavaScript

// META: title=Web Locks API: navigator.locks.query method - no locks held
// META: script=resources/helpers.js
// META: global=window,dedicatedworker,sharedworker,serviceworker
'use strict';
promise_test(async t => {
const state = await navigator.locks.query();
assert_own_property(state, 'pending', 'State has `pending` property');
assert_true(Array.isArray(state.pending),
'State `pending` property is an array');
assert_array_equals(state.pending, [], 'Pending array is empty');
assert_own_property(state, 'held', 'State has `held` property');
assert_true(Array.isArray(state.held), 'State `held` property is an array');
assert_array_equals(state.held, [], 'Held array is empty');
}, 'query() returns dictionary with empty arrays when no locks are held');