OLD | NEW |
(Empty) | |
| 1 <!doctype html> |
| 2 <html> |
| 3 <head> |
| 4 <title>Notifications: Check that showNotifications rejects if actions is set
incorrectly.</title> |
| 5 <script src="../resources/testharness.js"></script> |
| 6 <script src="../resources/testharnessreport.js"></script> |
| 7 <script src="../serviceworker/resources/test-helpers.js"></script> |
| 8 <script src="resources/test-helpers.js"></script> |
| 9 </head> |
| 10 <body> |
| 11 <script> |
| 12 // Tests that serviceWorkerRegistration.showNotification throws a |
| 13 // TypeError if NotificationOptions.actions is set incorrectly. |
| 14 var script = 'resources/instrumentation-service-worker.js'; |
| 15 |
| 16 testRunner.setPermission('notifications', 'granted', location.origin, loca
tion.origin); |
| 17 |
| 18 async_test(function(test) { |
| 19 var scope = 'resources/scope/' + location.pathname + "/notitle"; |
| 20 |
| 21 getActiveServiceWorkerWithMessagePort(test, script, scope).then(functi
on(workerInfo) { |
| 22 assert_inherits(workerInfo.registration, 'showNotification', 'show
Notification() must be exposed.'); |
| 23 |
| 24 workerInfo.registration.showNotification('Title', { |
| 25 actions: [{}] |
| 26 }).then(unreached_fulfillment(test)).catch(function(error) { |
| 27 assert_equals(error.name, 'TypeError'); |
| 28 assert_equals(error.message, "Failed to execute 'showNotificat
ion' on 'ServiceWorkerRegistration': required member title is undefined."); |
| 29 test.done(); |
| 30 }); |
| 31 }).catch(unreached_rejection(test)); |
| 32 |
| 33 }, 'showNotification() must reject if an action has no title.'); |
| 34 |
| 35 async_test(function(test) { |
| 36 var scope = 'resources/scope/' + location.pathname + "/emptytitle"; |
| 37 |
| 38 getActiveServiceWorkerWithMessagePort(test, script, scope).then(functi
on(workerInfo) { |
| 39 assert_inherits(workerInfo.registration, 'showNotification', 'show
Notification() must be exposed.'); |
| 40 |
| 41 workerInfo.registration.showNotification('Title', { |
| 42 actions: [{title: ""}] |
| 43 }).then(unreached_fulfillment(test)).catch(function(error) { |
| 44 assert_equals(error.name, 'TypeError'); |
| 45 assert_equals(error.message, 'Notification action titles must
not be empty.'); |
| 46 test.done(); |
| 47 }); |
| 48 }).catch(unreached_rejection(test)); |
| 49 |
| 50 }, 'showNotification() must reject if an action has an empty title.'); |
| 51 </script> |
| 52 </body> |
| 53 </html> |
OLD | NEW |