| Index: LayoutTests/http/tests/notifications/service-worker-show-notification-not-activated.html
|
| diff --git a/LayoutTests/http/tests/notifications/serviceworkerregistration-show-notification.html b/LayoutTests/http/tests/notifications/service-worker-show-notification-not-activated.html
|
| similarity index 55%
|
| rename from LayoutTests/http/tests/notifications/serviceworkerregistration-show-notification.html
|
| rename to LayoutTests/http/tests/notifications/service-worker-show-notification-not-activated.html
|
| index bdd8bf27eb02847192ffb9cd37461a2158f1fc71..af9b14afbaafc47f08057ec2fa04d8548025ec8b 100644
|
| --- a/LayoutTests/http/tests/notifications/serviceworkerregistration-show-notification.html
|
| +++ b/LayoutTests/http/tests/notifications/service-worker-show-notification-not-activated.html
|
| @@ -8,12 +8,15 @@
|
| </head>
|
| <body>
|
| <script>
|
| - // Tests that the showNotification() function is exposed on the ServiceWorkerRegistration
|
| - // object. As of right now, this is only exposed in documents.
|
| + // Tests that the showNotification() function rejects the returned promise with a
|
| + // TypeError when the Service Worker is not activated yet.
|
| async_test(function (test) {
|
| - var scope = 'resources/scope/serviceworkerregistration-show-notification',
|
| + var scope = 'resources/scope/service-worker-show-notification-not-activated',
|
| worker_url = 'resources/empty-worker.js';
|
|
|
| + if (window.testRunner)
|
| + testRunner.grantWebNotificationPermission("http://127.0.0.1:8000", false);
|
| +
|
| service_worker_unregister_and_register(test, worker_url, scope).then(function (registration) {
|
| assert_inherits(registration, 'showNotification', 'showNotification() must be exposed.');
|
| registration.showNotification('Title', {
|
| @@ -21,11 +24,16 @@
|
| icon: '/icon.png'
|
| }).then(function() {
|
| assert_unreached('showNotification() is expected to reject.');
|
| - }).catch(test.step_func_done());
|
| + }).catch(function(error) {
|
| + assert_equals(error.name, 'TypeError');
|
| + assert_equals(error.message, 'No active registration available on the ServiceWorkerRegistration.');
|
| + test.done();
|
| + });
|
|
|
| }).catch(unreached_rejection(test));
|
|
|
| - }, 'showNotification() must be exposed on the Document-based ServiceWorkerRegistration.');
|
| + }, 'showNotification() must reject if there is no active registration on the ServiceWorkerRegistration.');
|
| +
|
| </script>
|
| </body>
|
| </html>
|
|
|