forked from mirrors/gecko-dev
Backed out changeset 2b3b6edc0cff (bug 1879112) Backed out changeset 3dd0aa903d7f (bug 1879934)
28 lines
983 B
JavaScript
28 lines
983 B
JavaScript
// META: script=/resources/testdriver.js
|
|
// META: script=/resources/testdriver-vendor.js
|
|
// META: script=resources/helpers.js
|
|
|
|
"use strict";
|
|
|
|
/** @type {ServiceWorkerRegistration} */
|
|
let registration;
|
|
|
|
promise_setup(async () => {
|
|
registration = await getActiveServiceWorker("noop-sw.js");
|
|
});
|
|
|
|
promise_test(async (t) => {
|
|
t.add_cleanup(closeAllNotifications);
|
|
|
|
try {
|
|
await test_driver.set_permission({ name: "notifications" }, "prompt");
|
|
} catch {
|
|
// Not all implementations support this yet, but it may already be "prompt" to be able to continue
|
|
}
|
|
|
|
assert_equals(Notification.permission, "default", "Should have the default permission to continue");
|
|
|
|
await promise_rejects_js(t, TypeError, registration.showNotification(""), "Should throw TypeError");
|
|
const notifications = await registration.getNotifications();
|
|
assert_equals(notifications.length, 0, "Should return zero notification");
|
|
}, "showNotificaiton should not be listed with permission=default")
|