Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / http / tests / notifications / serviceworkerregistration-document-data-throw.html
blob8721583682051930fee9fa95fad1ae02b6424836
1 <!doctype html>
2 <html>
3 <head>
4 <title>Notifications: Verifying the exception throwing behavior, when data set invalid value such as a method.</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 the showNotification() function rejects the returned promise with a
13 // DataCloneError when data set invalid data such as a method.
14 async_test(function(test) {
15 var scope = 'resources/scope/' + location.pathname,
16 script = 'resources/instrumentation-service-worker.js';
18 testRunner.setPermission('notifications', 'granted', location.origin, location.origin);
20 getActiveServiceWorkerWithMessagePort(test, script, scope).then(function(workerInfo) {
21 assert_inherits(workerInfo.registration, 'showNotification', 'showNotification() must be exposed.');
22 workerInfo.registration.showNotification(scope, {
23 data: function() { return 1; }
24 }).then(unreached_fulfillment(test))
25 .catch(function(error) {
26 assert_equals(error.name, 'DataCloneError');
27 test.done();
28 });
29 }).catch(unreached_rejection(test));
31 }, 'showNotification() must reject if data is invalid value.');
32 </script>
33 </body>
34 </html>