OLD | NEW |
1 if (self.importScripts) { | 1 if (self.importScripts) { |
2 importScripts('helpers.js'); | 2 importScripts('helpers.js'); |
3 | 3 |
4 if (get_current_scope() == 'ServiceWorker') | 4 if (get_current_scope() == 'ServiceWorker') |
5 importScripts('../../serviceworker/resources/worker-testharness.js'); | 5 importScripts('../../serviceworker/resources/worker-testharness.js'); |
6 else | 6 else |
7 importScripts('../../resources/testharness.js'); | 7 importScripts('../../resources/testharness.js'); |
8 } | 8 } |
9 | 9 |
10 async_test(function(test) { | 10 async_test(function(test) { |
11 // Querying a random permission name should fail. | 11 // Querying a random permission name should fail. |
12 navigator.permissions.query({name:'foobar'}).then(function(result) { | 12 navigator.permissions.query({name:'foobar'}).then(function(result) { |
13 assert_unreached('querying a random permission should fail'); | 13 assert_unreached('querying a random permission should fail'); |
14 }, function(error) { | 14 }, function(error) { |
15 assert_equals(error.name, 'TypeError'); | 15 assert_equals(error.name, 'TypeError'); |
16 | 16 |
17 // Querying a permission without a name should fail. | 17 // Querying a permission without a name should fail. |
18 return navigator.permissions.query({}); | 18 return navigator.permissions.query({}); |
19 }).then(function(result) { | 19 }).then(function(result) { |
20 assert_unreached('querying a permission without a name should fail'); | 20 assert_unreached('querying a permission without a name should fail'); |
21 }, function(error) { | 21 }, function(error) { |
22 assert_equals(error.name, 'TypeError'); | 22 assert_equals(error.name, 'TypeError'); |
23 test.done(); | 23 test.done(); |
24 }); | 24 }); |
25 }, 'Test PermissionDescription WebIDL rules in ' + get_current_scope() + ' scope
.'); | 25 }, 'Test PermissionDescription WebIDL rules in ' + get_current_scope() + ' scope
.'); |
26 | 26 |
27 async_test(function(test) { | 27 async_test(function(test) { |
28 navigator.permissions.query({name:'geolocation'}).then(function(result) { | 28 navigator.permissions.query({name:'geolocation'}).then(function(result) { |
29 assert_true(result instanceof PermissionStatus); | 29 assert_true(result instanceof PermissionStatus); |
30 assert_equals(result.status, 'denied'); | 30 assert_equals(result.state, 'denied'); |
31 test.done(); | 31 test.done(); |
32 }).catch(function() { | 32 }).catch(function() { |
33 assert_unreached('querying geolocation permission should not fail.') | 33 assert_unreached('querying geolocation permission should not fail.') |
34 }); | 34 }); |
35 }, 'Test geolocation permission in ' + get_current_scope() + ' scope.'); | 35 }, 'Test geolocation permission in ' + get_current_scope() + ' scope.'); |
36 | 36 |
37 async_test(function(test) { | 37 async_test(function(test) { |
38 navigator.permissions.query({name:'midi'}).then(function(result) { | 38 navigator.permissions.query({name:'midi'}).then(function(result) { |
39 assert_true(result instanceof PermissionStatus); | 39 assert_true(result instanceof PermissionStatus); |
40 assert_equals(result.status, 'denied'); | 40 assert_equals(result.state, 'denied'); |
41 | 41 |
42 // Test for sysex=false. | 42 // Test for sysex=false. |
43 return navigator.permissions.query({name:'midi', sysex: false}); | 43 return navigator.permissions.query({name:'midi', sysex: false}); |
44 }).then(function(result) { | 44 }).then(function(result) { |
45 assert_true(result instanceof PermissionStatus); | 45 assert_true(result instanceof PermissionStatus); |
46 assert_equals(result.status, 'denied'); | 46 assert_equals(result.state, 'denied'); |
47 | 47 |
48 // Test for sysex=true. | 48 // Test for sysex=true. |
49 return navigator.permissions.query({name:'midi', sysex: true}); | 49 return navigator.permissions.query({name:'midi', sysex: true}); |
50 }).then(function(result) { | 50 }).then(function(result) { |
51 assert_true(result instanceof PermissionStatus); | 51 assert_true(result instanceof PermissionStatus); |
52 assert_equals(result.status, 'denied'); | 52 assert_equals(result.state, 'denied'); |
53 test.done(); | 53 test.done(); |
54 }).catch(function() { | 54 }).catch(function() { |
55 assert_unreached('querying midi permission should not fail.') | 55 assert_unreached('querying midi permission should not fail.') |
56 }); | 56 }); |
57 }, 'Test midi permission in ' + get_current_scope() + ' scope.'); | 57 }, 'Test midi permission in ' + get_current_scope() + ' scope.'); |
58 | 58 |
59 async_test(function(test) { | 59 async_test(function(test) { |
60 navigator.permissions.query({name:'notifications'}).then(function(result) { | 60 navigator.permissions.query({name:'notifications'}).then(function(result) { |
61 assert_true(result instanceof PermissionStatus); | 61 assert_true(result instanceof PermissionStatus); |
62 assert_equals(result.status, 'denied'); | 62 assert_equals(result.state, 'denied'); |
63 test.done(); | 63 test.done(); |
64 }).catch(function() { | 64 }).catch(function() { |
65 assert_unreached('querying notifications permission should not fail.') | 65 assert_unreached('querying notifications permission should not fail.') |
66 }); | 66 }); |
67 }, 'Test notifications permission in ' + get_current_scope() + ' scope.'); | 67 }, 'Test notifications permission in ' + get_current_scope() + ' scope.'); |
68 | 68 |
69 async_test(function(test) { | 69 async_test(function(test) { |
70 navigator.permissions.query({name:'push'}).catch(function(e) { | 70 navigator.permissions.query({name:'push'}).catch(function(e) { |
71 // By default, the permission query is rejected if "userVisibleOnly" opt
ion | 71 // By default, the permission query is rejected if "userVisibleOnly" opt
ion |
72 // isn't set or set to true. | 72 // isn't set or set to true. |
73 assert_equals(e.name, "NotSupportedError"); | 73 assert_equals(e.name, "NotSupportedError"); |
74 | 74 |
75 // Test for userVisibleOnly=false. | 75 // Test for userVisibleOnly=false. |
76 return navigator.permissions.query({name:'push', userVisibleOnly: false}
); | 76 return navigator.permissions.query({name:'push', userVisibleOnly: false}
); |
77 }).catch(function(e) { | 77 }).catch(function(e) { |
78 // By default, the permission query is rejected if "userVisibleOnly" opt
ion | 78 // By default, the permission query is rejected if "userVisibleOnly" opt
ion |
79 // isn't set or set to true. | 79 // isn't set or set to true. |
80 assert_equals(e.name, "NotSupportedError"); | 80 assert_equals(e.name, "NotSupportedError"); |
81 | 81 |
82 // Test for userVisibleOnly=true. | 82 // Test for userVisibleOnly=true. |
83 return navigator.permissions.query({name:'push', userVisibleOnly: true})
; | 83 return navigator.permissions.query({name:'push', userVisibleOnly: true})
; |
84 }).then(function(result) { | 84 }).then(function(result) { |
85 assert_true(result instanceof PermissionStatus); | 85 assert_true(result instanceof PermissionStatus); |
86 assert_equals(result.status, 'denied'); | 86 assert_equals(result.state, 'denied'); |
87 test.done(); | 87 test.done(); |
88 }).catch(function() { | 88 }).catch(function() { |
89 assert_unreached('querying push permission should not fail.') | 89 assert_unreached('querying push permission should not fail.') |
90 }); | 90 }); |
91 }, 'Test push permission in ' + get_current_scope() + ' scope.'); | 91 }, 'Test push permission in ' + get_current_scope() + ' scope.'); |
92 | 92 |
93 done(); | 93 done(); |
OLD | NEW |