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> |