Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(101)

Side by Side Diff: third_party/WebKit/LayoutTests/http/tests/permissions/chromium/resources/test-request-multiple.js

Issue 1376523006: Revert of permissions: add layout tests for multiple requests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/http/tests/permissions/chromium/test-request-multiple-sharedworker.html » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(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 // Set back to denied to cleanup.
38 return setPermission('geolocation', 'denied', location.origin, locat ion.origin);
39 })
40 .then(callback)
41 .catch(function(error) {
42 assert_unreached(error);
43 callback();
44 });
45 }
46 }, {
47 test: async_test('Test two permissions with update in ' + get_current_scope( ) + ' scope.'),
48 fn: function(callback) {
49 navigator.permissions.request([{name:'geolocation'}, {name:'notification s'}]).then(function(result) {
50 assert_equals(result.length, 2);
51 for (var i = 0; i < result.length; i++) {
52 assert_true(result[i] instanceof PermissionStatus);
53 assert_equals(result[i].state, 'denied');
54 }
55 return setPermission('geolocation', 'granted', location.origin, loca tion.origin);
56 }).then(function() {
57 return navigator.permissions.request([{name:'geolocation'}, {name:'n otifications'}]);
58 }).then(function(result) {
59 assert_equals(result.length, 2);
60 for (var i = 0; i < result.length; i++)
61 assert_true(result[i] instanceof PermissionStatus);
62 assert_equals(result[0].state, 'granted');
63 assert_equals(result[1].state, 'denied');
64 return setPermission('notifications', 'prompt', location.origin, loc ation.origin);
65 }).then(function() {
66 return navigator.permissions.request([{name:'geolocation'}, {name:'n otifications'}]);
67 }).then(function(result) {
68 assert_equals(result.length, 2);
69 for (var i = 0; i < result.length; i++)
70 assert_true(result[i] instanceof PermissionStatus);
71 assert_equals(result[0].state, 'granted');
72 assert_equals(result[1].state, 'prompt');
73 // Set back to denied to cleanup.
74 return setPermission('geolocation', 'denied', location.origin, locat ion.origin);
75 }).then(function() {
76 return setPermission('notifications', 'denied', location.origin, loc ation.origin);
77 })
78 .then(callback)
79 .catch(function(error) {
80 assert_unreached(error);
81 callback();
82 });
83 }
84 }, {
85 test: async_test('Test two permissions (inverted) with update in ' + get_cur rent_scope() + ' scope.'),
86 fn: function(callback) {
87 navigator.permissions.request([{name:'notifications'}, {name:'geolocatio n'}]).then(function(result) {
88 assert_equals(result.length, 2);
89 for (var i = 0; i < result.length; i++) {
90 assert_true(result[i] instanceof PermissionStatus);
91 assert_equals(result[i].state, 'denied');
92 }
93 return setPermission('notifications', 'granted', location.origin, lo cation.origin);
94 }).then(function() {
95 return navigator.permissions.request([{name:'notifications'}, {name: 'geolocation'}]);
96 }).then(function(result) {
97 assert_equals(result.length, 2);
98 for (var i = 0; i < result.length; i++)
99 assert_true(result[i] instanceof PermissionStatus);
100 assert_equals(result[0].state, 'granted');
101 assert_equals(result[1].state, 'denied');
102 return setPermission('geolocation', 'prompt', location.origin, locat ion.origin);
103 }).then(function() {
104 return navigator.permissions.request([{name:'notifications'}, {name: 'geolocation'}]);
105 }).then(function(result) {
106 assert_equals(result.length, 2);
107 for (var i = 0; i < result.length; i++)
108 assert_true(result[i] instanceof PermissionStatus);
109 assert_equals(result[0].state, 'granted');
110 assert_equals(result[1].state, 'prompt');
111 // Set back to denied to cleanup.
112 return setPermission('geolocation', 'denied', location.origin, locat ion.origin);
113 }).then(function() {
114 return setPermission('notifications', 'denied', location.origin, loc ation.origin);
115 })
116 .then(callback)
117 .catch(function(error) {
118 assert_unreached(error);
119 callback();
120 });
121 }
122 }, {
123 test: async_test('Test duplicate permissions with update in ' + get_current_ scope() + ' scope.'),
124 fn: function(callback) {
125 navigator.permissions.request([{name:'geolocation'}, {name:'geolocation' }]).then(function(result) {
126 assert_equals(result.length, 2);
127 for (var i = 0; i < result.length; i++) {
128 assert_true(result[i] instanceof PermissionStatus);
129 assert_equals(result[i].state, 'denied');
130 }
131 return setPermission('geolocation', 'granted', location.origin, loca tion.origin);
132 }).then(function() {
133 return navigator.permissions.request([{name:'geolocation'}, {name:'g eolocation'}]);
134 }).then(function(result) {
135 assert_equals(result.length, 2);
136 for (var i = 0; i < result.length; i++) {
137 assert_true(result[i] instanceof PermissionStatus);
138 assert_equals(result[i].state, 'granted');
139 }
140 // Set back to denied to cleanup.
141 return setPermission('geolocation', 'denied', location.origin, locat ion.origin);
142 })
143 .then(callback)
144 .catch(function(error) {
145 assert_unreached(error);
146 callback();
147 });
148 }
149 }, {
150 test: async_test('Test duplicate permissions (2) with update in ' + get_curr ent_scope() + ' scope.'),
151 fn: function(callback) {
152 navigator.permissions.request([{name:'geolocation'}, {name:'geolocation' }, {name:'notifications'}, {name:'notifications'}]).then(function(result) {
153 assert_equals(result.length, 4);
154 for (var i = 0; i < result.length; i++) {
155 assert_true(result[i] instanceof PermissionStatus);
156 assert_equals(result[i].state, 'denied');
157 }
158 return setPermission('geolocation', 'granted', location.origin, loca tion.origin);
159 }).then(function() {
160 return navigator.permissions.request([{name:'geolocation'}, {name:'g eolocation'}, {name:'notifications'}, {name:'notifications'}]);
161 }).then(function(result) {
162 assert_equals(result.length, 4);
163 for (var i = 0; i < 2; i++) {
164 assert_true(result[i] instanceof PermissionStatus);
165 assert_equals(result[i].state, 'granted');
166 }
167 for (var i = 2; i < 4; i++) {
168 assert_true(result[i] instanceof PermissionStatus);
169 assert_equals(result[i].state, 'denied');
170 }
171 // Set back to denied to cleanup.
172 return setPermission('geolocation', 'denied', location.origin, locat ion.origin);
173 })
174 .then(callback)
175 .catch(function(error) {
176 assert_unreached(error);
177 callback();
178 });
179 }
180 }, {
181 test: async_test('Test duplicate permissions (3) with update in ' + get_curr ent_scope() + ' scope.'),
182 fn: function(callback) {
183 navigator.permissions.request([{name:'geolocation'}, {name:'notification s'}, {name:'geolocation'}, {name:'notifications'}]).then(function(result) {
184 assert_equals(result.length, 4);
185 for (var i = 0; i < result.length; i++) {
186 assert_true(result[i] instanceof PermissionStatus);
187 assert_equals(result[i].state, 'denied');
188 }
189 return setPermission('geolocation', 'granted', location.origin, loca tion.origin);
190 }).then(function() {
191 return navigator.permissions.request([{name:'geolocation'}, {name:'n otifications'}, {name:'geolocation'}, {name:'notifications'}]);
192 }).then(function(result) {
193 assert_equals(result.length, 4);
194 for (var i = 0; i < result.length; i++) {
195 assert_true(result[i] instanceof PermissionStatus);
196 }
197 assert_equals(result[0].state, 'granted');
198 assert_equals(result[1].state, 'denied');
199 assert_equals(result[2].state, 'granted');
200 assert_equals(result[3].state, 'denied');
201 return setPermission('notifications', 'granted', location.origin, lo cation.origin);
202 }).then(function() {
203 return navigator.permissions.request([{name:'geolocation'}, {name:'n otifications'}, {name:'geolocation'}, {name:'notifications'}]);
204 }).then(function(result) {
205 assert_equals(result.length, 4);
206 for (var i = 0; i < result.length; i++) {
207 assert_true(result[i] instanceof PermissionStatus);
208 assert_equals(result[i].state, 'granted');
209 }
210 // Set back to denied to cleanup.
211 return setPermission('geolocation', 'denied', location.origin, locat ion.origin);
212 }).then(function() {
213 return setPermission('notifications', 'denied', location.origin, loc ation.origin);
214 })
215 .then(callback)
216 .catch(function(error) {
217 assert_unreached(error);
218 callback();
219 });
220 }
221 }];
222
223 function runTest(i) {
224 tests[i].test.step(function() {
225 tests[i].fn(function() {
226 tests[i].test.done();
227 if (i + 1 < tests.length) {
228 runTest(i + 1);
229 } else {
230 done();
231 }
232 });
233 });
234 }
235 runTest(0);
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/http/tests/permissions/chromium/test-request-multiple-sharedworker.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698