diff options
Diffstat (limited to 'testing/web-platform/tests/notifications/shownotification-without-permission.https.window.js')
-rw-r--r-- | testing/web-platform/tests/notifications/shownotification-without-permission.https.window.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/testing/web-platform/tests/notifications/shownotification-without-permission.https.window.js b/testing/web-platform/tests/notifications/shownotification-without-permission.https.window.js new file mode 100644 index 0000000000..37b3dbbef6 --- /dev/null +++ b/testing/web-platform/tests/notifications/shownotification-without-permission.https.window.js @@ -0,0 +1,28 @@ +// 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") |