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

Side by Side Diff: third_party/WebKit/LayoutTests/sensor/resources/generic-sensor-tests.js

Issue 2668173003: [Sensors] Remove SensorReading interfaces (Closed)
Patch Set: updated global-interface-listing.html Created 3 years, 10 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
OLDNEW
1 'use strict'; 1 'use strict';
2 2
3 // Run a set of tests for a given |sensorType|. |updateReading| is 3 // Run a set of tests for a given |sensorType|. |updateReading| is
4 // a called by the test to provide the mock values for sensor. |verifyReading| 4 // a called by the test to provide the mock values for sensor. |verifyReading|
5 // is called so that the value read in JavaScript are the values expected (the o nes 5 // is called so that the value read in JavaScript are the values expected (the o nes
6 // sent by |updateReading|). 6 // sent by |updateReading|).
7 function runGenericSensorTests(sensorType, updateReading, verifyReading) { 7 function runGenericSensorTests(sensorType, updateReading, verifyReading) {
8 test(() => assert_throws( 8 test(() => assert_throws(
9 new RangeError(), 9 new RangeError(),
10 () => new sensorType({frequency: -60})), 10 () => new sensorType({frequency: -60})),
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 function checkOnChangeIsCalledAndReadingIsValid(sensor) { 163 function checkOnChangeIsCalledAndReadingIsValid(sensor) {
164 let sensorObject = new sensorType({frequency: 60}); 164 let sensorObject = new sensorType({frequency: 60});
165 sensorObject.start(); 165 sensorObject.start();
166 let testPromise = sensor.mockSensorProvider.getCreatedSensor() 166 let testPromise = sensor.mockSensorProvider.getCreatedSensor()
167 .then(mockSensor => { 167 .then(mockSensor => {
168 return mockSensor.setUpdateSensorReadingFunction(updateReading); 168 return mockSensor.setUpdateSensorReadingFunction(updateReading);
169 }) 169 })
170 .then((mockSensor) => { 170 .then((mockSensor) => {
171 return new Promise((resolve, reject) => { 171 return new Promise((resolve, reject) => {
172 let wrapper = new CallbackWrapper(() => { 172 let wrapper = new CallbackWrapper(() => {
173 assert_true(verifyReading(sensorObject.reading)); 173 assert_true(verifyReading(sensorObject));
174 sensorObject.stop(); 174 sensorObject.stop();
175 assert_equals(sensorObject.reading, null); 175 assert_true(verifyReading(sensorObject, true /*should be null*/));
176 resolve(mockSensor); 176 resolve(mockSensor);
177 }, reject); 177 }, reject);
178 178
179 sensorObject.onchange = wrapper.callback; 179 sensorObject.onchange = wrapper.callback;
180 sensorObject.onerror = reject; 180 sensorObject.onerror = reject;
181 }); 181 });
182 }) 182 })
183 .then(mockSensor => { return mockSensor.removeConfigurationCalled(); }); 183 .then(mockSensor => { return mockSensor.removeConfigurationCalled(); });
184 184
185 return testPromise; 185 return testPromise;
(...skipping 11 matching lines...) Expand all
197 sensor_test(sensor => { 197 sensor_test(sensor => {
198 let sensorObject = new sensorType; 198 let sensorObject = new sensorType;
199 sensorObject.start(); 199 sensorObject.start();
200 let testPromise = sensor.mockSensorProvider.getCreatedSensor() 200 let testPromise = sensor.mockSensorProvider.getCreatedSensor()
201 .then(mockSensor => { 201 .then(mockSensor => {
202 return mockSensor.setUpdateSensorReadingFunction(updateReading); 202 return mockSensor.setUpdateSensorReadingFunction(updateReading);
203 }) 203 })
204 .then(mockSensor => { 204 .then(mockSensor => {
205 return new Promise((resolve, reject) => { 205 return new Promise((resolve, reject) => {
206 let wrapper = new CallbackWrapper(() => { 206 let wrapper = new CallbackWrapper(() => {
207 assert_true(verifyReading(sensorObject.reading)); 207 assert_true(verifyReading(sensorObject));
208 resolve(mockSensor); 208 resolve(mockSensor);
209 }, reject); 209 }, reject);
210 210
211 sensorObject.onchange = wrapper.callback; 211 sensorObject.onchange = wrapper.callback;
212 sensorObject.onerror = reject; 212 sensorObject.onerror = reject;
213 }); 213 });
214 }) 214 })
215 .then(mockSensor => { 215 .then(mockSensor => {
216 testRunner.setPageVisibility('hidden'); 216 testRunner.setPageVisibility('hidden');
217 return mockSensor.suspendCalled(); 217 return mockSensor.suspendCalled();
(...skipping 21 matching lines...) Expand all
239 239
240 let sensor2 = new sensorType({frequency: 20}); 240 let sensor2 = new sensorType({frequency: 20});
241 sensor2.start(); 241 sensor2.start();
242 let testPromise = sensor.mockSensorProvider.getCreatedSensor() 242 let testPromise = sensor.mockSensorProvider.getCreatedSensor()
243 .then(mockSensor => { 243 .then(mockSensor => {
244 return mockSensor.setUpdateSensorReadingFunction(updateReading); 244 return mockSensor.setUpdateSensorReadingFunction(updateReading);
245 }) 245 })
246 .then((mockSensor) => { 246 .then((mockSensor) => {
247 return new Promise((resolve, reject) => { 247 return new Promise((resolve, reject) => {
248 let wrapper = new CallbackWrapper(() => { 248 let wrapper = new CallbackWrapper(() => {
249 // Reading value is correct. 249 // Reading values are correct for both sensors.
250 assert_true(verifyReading(sensor1.reading)); 250 assert_true(verifyReading(sensor1));
251 assert_true(verifyReading(sensor2));
251 252
252 // Both sensors share the same reading instance. 253 // After first sensor stops its reading values are null,
253 let reading = sensor1.reading; 254 // reading values for the second sensor sensor remain.
254 assert_equals(reading, sensor2.reading);
255
256 // After first sensor stops its reading is null, reading for secon d
257 // sensor sensor remains.
258 sensor1.stop(); 255 sensor1.stop();
259 assert_equals(sensor1.reading, null); 256 assert_true(verifyReading(sensor1, true /*should be null*/));
260 assert_true(verifyReading(sensor2.reading)); 257 assert_true(verifyReading(sensor2));
261 258
262 sensor2.stop(); 259 sensor2.stop();
263 assert_equals(sensor2.reading, null); 260 assert_true(verifyReading(sensor2, true /*should be null*/));
264 261
265 // Cached reading remains.
266 assert_true(verifyReading(reading));
267 resolve(mockSensor); 262 resolve(mockSensor);
268 }, reject); 263 }, reject);
269 264
270 sensor1.onchange = wrapper.callback; 265 sensor1.onchange = wrapper.callback;
271 sensor1.onerror = reject; 266 sensor1.onerror = reject;
272 sensor2.onerror = reject; 267 sensor2.onerror = reject;
273 }); 268 });
274 }) 269 })
275 .then(mockSensor => { return mockSensor.removeConfigurationCalled(); }); 270 .then(mockSensor => { return mockSensor.removeConfigurationCalled(); });
276 271
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 325
331 sensor_test(sensor => { 326 sensor_test(sensor => {
332 return checkFrequencyHintWorks(sensor); 327 return checkFrequencyHintWorks(sensor);
333 }, 'Test that frequency hint works (onchange reporting).'); 328 }, 'Test that frequency hint works (onchange reporting).');
334 329
335 sensor_test(sensor => { 330 sensor_test(sensor => {
336 sensor.mockSensorProvider.setContinuousReportingMode(); 331 sensor.mockSensorProvider.setContinuousReportingMode();
337 return checkFrequencyHintWorks(sensor); 332 return checkFrequencyHintWorks(sensor);
338 }, 'Test that frequency hint works (continuous reporting).'); 333 }, 'Test that frequency hint works (continuous reporting).');
339 } 334 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698