Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 if (self.importScripts) { | |
| 2 importScripts('../../resources/helpers.js'); | |
| 3 importScripts('testrunner-helpers.js'); | |
| 4 | |
| 5 if (get_current_scope() == 'ServiceWorker') | |
| 6 importScripts('../../../serviceworker/resources/worker-testharness.js'); | |
| 7 else | |
| 8 importScripts('../../../resources/testharness.js'); | |
| 9 } | |
| 10 | |
| 11 var tests = [ | |
| 12 { | |
| 13 test: async_test('Test empty array in ' + get_current_scope() + ' scope.'), | |
| 14 fn: function(callback) { | |
| 15 navigator.permissions.request([]).then(function(result) { | |
| 16 assert_array_equals(result, []); | |
| 17 callback(); | |
| 18 }, function(error) { | |
| 19 assert_unreached(error); | |
| 20 callback(); | |
| 21 }); | |
| 22 } | |
| 23 }, { | |
| 24 test: async_test('Test single permission with update in ' + get_current_scop e() + ' scope.'), | |
| 25 fn: function(callback) { | |
| 26 navigator.permissions.request([{name:'geolocation'}]).then(function(resu lt) { | |
| 27 assert_equals(result.length, 1); | |
| 28 assert_true(result[0] instanceof PermissionStatus); | |
| 29 assert_equals(result[0].state, 'denied'); | |
| 30 return setPermission('geolocation', 'granted', location.origin, loca tion.origin); | |
| 31 }).then(function() { | |
| 32 return navigator.permissions.request([{name:'geolocation'}]); | |
| 33 }).then(function(result) { | |
| 34 assert_equals(result.length, 1); | |
| 35 assert_true(result[0] instanceof PermissionStatus); | |
| 36 assert_equals(result[0].state, 'granted'); | |
| 37 callback(); | |
|
mlamouri (slow - plz ping)
2015/09/23 14:24:28
Could you call navigator.permissions.revoke():
n
Lalit Maganti
2015/09/24 09:26:43
Done.
| |
| 38 }).catch(function(error) { | |
| 39 assert_unreached(error); | |
| 40 callback(); | |
| 41 }); | |
| 42 } | |
| 43 }, { | |
| 44 test: async_test('Test two permissions with update in ' + get_current_scope( ) + ' scope.'), | |
| 45 fn: function(callback) { | |
| 46 navigator.permissions.request([{name:'geolocation'}, {name:'notification s'}]).then(function(result) { | |
| 47 assert_equals(result.length, 2); | |
| 48 for (var i = 0; i < result.length; i++) { | |
| 49 assert_true(result[i] instanceof PermissionStatus); | |
| 50 assert_equals(result[i].state, 'denied'); | |
| 51 } | |
| 52 return setPermission('geolocation', 'granted', location.origin, loca tion.origin); | |
|
mlamouri (slow - plz ping)
2015/09/23 14:24:28
Could you set notifications to 'prompt'?
Lalit Maganti
2015/09/24 09:26:43
Done.
| |
| 53 }).then(function() { | |
| 54 return navigator.permissions.request([{name:'geolocation'}, {name:'n otifications'}]); | |
| 55 }).then(function(result) { | |
| 56 assert_equals(result.length, 2); | |
| 57 for (var i = 0; i < result.length; i++) | |
| 58 assert_true(result[i] instanceof PermissionStatus); | |
| 59 assert_equals(result[0].state, 'granted'); | |
| 60 assert_equals(result[1].state, 'denied'); | |
| 61 callback(); | |
|
mlamouri (slow - plz ping)
2015/09/23 14:24:28
Could you add another test with geolocation/notifi
Lalit Maganti
2015/09/24 09:26:43
Done.
| |
| 62 }).catch(function(error) { | |
| 63 assert_unreached(error); | |
| 64 callback(); | |
| 65 }); | |
| 66 } | |
| 67 }, { | |
| 68 test: async_test('Test duplicate permissions with update in ' + get_current_ scope() + ' scope.'), | |
| 69 fn: function(callback) { | |
| 70 navigator.permissions.request([{name:'geolocation'}, {name:'geolocation' }]).then(function(result) { | |
| 71 assert_equals(result.length, 2); | |
| 72 for (var i = 0; i < result.length; i++) { | |
| 73 assert_true(result[i] instanceof PermissionStatus); | |
| 74 assert_equals(result[i].state, 'denied'); | |
| 75 } | |
| 76 return setPermission('geolocation', 'granted', location.origin, loca tion.origin); | |
| 77 }).then(function() { | |
| 78 return navigator.permissions.request([{name:'geolocation'}, {name:'g eolocation'}]); | |
| 79 }).then(function(result) { | |
| 80 assert_equals(result.length, 2); | |
| 81 for (var i = 0; i < result.length; i++) { | |
| 82 assert_true(result[i] instanceof PermissionStatus); | |
| 83 assert_equals(result[i].state, 'granted'); | |
| 84 } | |
| 85 callback(); | |
| 86 }).catch(function(error) { | |
| 87 assert_unreached(error); | |
| 88 callback(); | |
| 89 }); | |
| 90 } | |
| 91 }]; | |
| 92 | |
| 93 function runTest(i) { | |
|
Lalit Maganti
2015/09/17 20:01:05
Should probably factor this out into the helper fi
Lalit Maganti
2015/09/24 09:26:43
Maybe not since reset was removed
| |
| 94 tests[i].test.step(function() { | |
| 95 tests[i].fn(function() { | |
| 96 tests[i].test.done(); | |
| 97 resetPermissions().then(function() { | |
| 98 if (i + 1 < tests.length) { | |
| 99 runTest(i + 1); | |
| 100 } else { | |
| 101 done(); | |
| 102 } | |
| 103 }).catch(function(error) { | |
| 104 assert_unreached(error); | |
| 105 }); | |
| 106 }); | |
| 107 }); | |
| 108 } | |
| 109 runTest(0); | |
| OLD | NEW |