OLD | NEW |
(Empty) | |
| 1 <!DOCTYPE html> |
| 2 <html> |
| 3 <head> |
| 4 <script src="../resources/js-test.js"></script> |
| 5 </head> |
| 6 <body> |
| 7 <script> |
| 8 description('Tests for the Push API hasPermission method.'); |
| 9 |
| 10 if (!window.testRunner) |
| 11 debug('This test can not run without testRunner'); |
| 12 |
| 13 window.jsTestIsAsync = true; |
| 14 |
| 15 function testPushHasPermissionDefault() { |
| 16 window.testRunner.setMockPushClientError('permission_default'); |
| 17 testPushHasPermission('default', testPushHasPermissionDenied); |
| 18 } |
| 19 |
| 20 function testPushHasPermissionDenied() { |
| 21 window.testRunner.setMockPushClientError('deny_permission'); |
| 22 testPushHasPermission('denied', testPushHasPermissionGranted); |
| 23 } |
| 24 |
| 25 function testPushHasPermissionGranted() { |
| 26 window.testRunner.setMockPushClientSuccess('endpoint', 'registrationId'); |
| 27 testPushHasPermission('granted'); |
| 28 } |
| 29 |
| 30 function testPushHasPermission(expectedStatus, runNext) { |
| 31 navigator.push.hasPermission().then(function(permissionStatus) { |
| 32 status = permissionStatus; |
| 33 shouldBeEqualToString('status', expectedStatus); |
| 34 if (runNext) |
| 35 runNext(); |
| 36 else |
| 37 finishJSTest(); |
| 38 }, function() { |
| 39 testFailed('Promise rejected unexpectedly.'); |
| 40 finishJSTest(); |
| 41 }); |
| 42 } |
| 43 |
| 44 testPushHasPermissionDefault(); |
| 45 |
| 46 </script> |
| 47 </body> |
| 48 </html> |
OLD | NEW |