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>
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');
29 }).catch(unreached_rejection(test
));
31 }, 'showNotification() must reject if data is invalid value.');