OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <html> | 2 <html> |
3 <head> | 3 <head> |
4 <title>subscribe() succeeds when permission is granted and resolves with a valid
subscription</title> | 4 <title>subscribe() succeeds when permission is granted and resolves with a valid
subscription</title> |
5 <link rel="manifest" href="resources/push_manifest.json"> | 5 <link rel="manifest" href="resources/push_manifest.json"> |
6 <script src="../resources/testharness.js"></script> | 6 <script src="../resources/testharness.js"></script> |
7 <script src="../resources/testharnessreport.js"></script> | 7 <script src="../resources/testharnessreport.js"></script> |
8 <script src="../resources/testharness-helpers.js"></script> | 8 <script src="../resources/testharness-helpers.js"></script> |
9 <script src="../serviceworker/resources/test-helpers.js"></script> | 9 <script src="../serviceworker/resources/test-helpers.js"></script> |
10 </head> | 10 </head> |
11 <body> | 11 <body> |
12 <script> | 12 <script> |
13 async_test(function(test) { | 13 async_test(function(test) { |
14 var workerUrl = 'resources/empty_worker.js'; | 14 var workerUrl = 'resources/empty_worker.js'; |
15 var workerScope = 'resources/scope/' + location.pathname; | 15 var workerScope = 'resources/scope/' + location.pathname; |
16 var swRegistration; | 16 var swRegistration; |
17 service_worker_unregister_and_register(test, workerUrl, workerScope) | 17 service_worker_unregister_and_register(test, workerUrl, workerScope) |
18 .then(function(serviceWorkerRegistration) { | 18 .then(function(serviceWorkerRegistration) { |
19 swRegistration = serviceWorkerRegistration; | 19 swRegistration = serviceWorkerRegistration; |
20 return wait_for_state(test, swRegistration.installing, 'activated'); | 20 return wait_for_state(test, swRegistration.installing, 'activated'); |
21 }) | 21 }) |
22 .then(function() { | 22 .then(function() { |
23 // If running manually, grant permission when prompted. | 23 // If running manually, grant permission when prompted. |
24 if (window.testRunner) | 24 if (window.testRunner) |
25 testRunner.setPermission('push-messaging', 'granted', location.o
rigin, location.origin); | 25 testRunner.setPermission('push-messaging', 'granted', location.o
rigin, location.origin); |
26 return swRegistration.pushManager.subscribe(); | 26 return swRegistration.pushManager.subscribe(); |
27 }) | 27 }) |
28 .then(function(pushSubscription) { | 28 .then(function(pushSubscription) { |
29 assert_will_be_idl_attribute(pushSubscription, 'subscriptionId'); | |
30 assert_equals(typeof pushSubscription.subscriptionId, 'string'); | |
31 | |
32 assert_will_be_idl_attribute(pushSubscription, 'endpoint'); | 29 assert_will_be_idl_attribute(pushSubscription, 'endpoint'); |
33 assert_equals(typeof pushSubscription.endpoint, 'string'); | 30 assert_equals(typeof pushSubscription.endpoint, 'string'); |
34 | 31 |
35 // The |subscriptionId| attribute is being deprecated, and its value | |
36 // is now the last part of the |endpoint| attribute. | |
37 assert_true(pushSubscription.endpoint.endsWith(pushSubscription.subs
criptionId)); | |
38 | |
39 try { | 32 try { |
40 var endpointUrl = new URL(pushSubscription.endpoint); | 33 var endpointUrl = new URL(pushSubscription.endpoint); |
41 } catch(e) { | 34 } catch(e) { |
42 assert_unreached('Constructing a URL from the endpoint should no
t throw.'); | 35 assert_unreached('Constructing a URL from the endpoint should no
t throw.'); |
43 } | 36 } |
44 | 37 |
45 return service_worker_unregister_and_done(test, workerScope); | 38 return service_worker_unregister_and_done(test, workerScope); |
46 }) | 39 }) |
47 .catch(unreached_rejection(test)); | 40 .catch(unreached_rejection(test)); |
48 }, 'subscribe() succeeds when permission is granted and resolves with a valid su
bscription'); | 41 }, 'subscribe() succeeds when permission is granted and resolves with a valid su
bscription'); |
49 </script> | 42 </script> |
50 </body> | 43 </body> |
51 </html> | 44 </html> |
OLD | NEW |