OLD | NEW |
1 'use strict'; | 1 'use strict'; |
2 | 2 |
3 // Wraps callback and calls reject_func if callback throws an error. | 3 // Wraps callback and calls reject_func if callback throws an error. |
4 class CallbackWrapper { | 4 class CallbackWrapper { |
5 constructor(callback, reject_func) { | 5 constructor(callback, reject_func) { |
6 this.wrapper_func_ = (args) => { | 6 this.wrapper_func_ = (args) => { |
7 try { | 7 try { |
8 callback(args); | 8 callback(args); |
9 } catch(e) { | 9 } catch(e) { |
10 reject_func(e); | 10 reject_func(e); |
11 } | 11 } |
12 } | 12 } |
13 } | 13 } |
14 | 14 |
15 get callback() { | 15 get callback() { |
16 return this.wrapper_func_; | 16 return this.wrapper_func_; |
17 } | 17 } |
18 } | 18 } |
19 | 19 |
20 function sensor_mocks(mojo) { | 20 function sensor_mocks(mojo) { |
21 return define('Generic Sensor API mocks', [ | 21 return define('Generic Sensor API mocks', [ |
22 'mojo/public/js/core', | 22 'mojo/public/js/core', |
23 'mojo/public/js/bindings', | 23 'mojo/public/js/bindings', |
24 'device/generic_sensor/public/interfaces/sensor_provider.mojom', | 24 'device/generic_sensor/public/interfaces/sensor_provider.mojom', |
25 'device/generic_sensor/public/interfaces/sensor.mojom', | 25 'device/generic_sensor/public/interfaces/sensor.mojom', |
26 ], (core, bindings, sensor_provider, sensor) => { | 26 'services/device/public/interfaces/constants.mojom', |
| 27 ], (core, bindings, sensor_provider, sensor, deviceConstants) => { |
27 | 28 |
28 // Helper function that returns resolved promise with result. | 29 // Helper function that returns resolved promise with result. |
29 function sensorResponse(success) { | 30 function sensorResponse(success) { |
30 return Promise.resolve({success}); | 31 return Promise.resolve({success}); |
31 } | 32 } |
32 | 33 |
33 // Class that mocks Sensor interface defined in sensor.mojom | 34 // Class that mocks Sensor interface defined in sensor.mojom |
34 class MockSensor { | 35 class MockSensor { |
35 constructor(sensorRequest, handle, offset, size, reportingMode) { | 36 constructor(sensorRequest, handle, offset, size, reportingMode) { |
36 this.client_ = null; | 37 this.client_ = null; |
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
343 this.max_frequency_ = frequency; | 344 this.max_frequency_ = frequency; |
344 } | 345 } |
345 | 346 |
346 // Sets the minimum frequency for a concrete sensor. | 347 // Sets the minimum frequency for a concrete sensor. |
347 setMinimumSupportedFrequency(frequency) { | 348 setMinimumSupportedFrequency(frequency) { |
348 this.min_frequency_ = frequency; | 349 this.min_frequency_ = frequency; |
349 } | 350 } |
350 } | 351 } |
351 | 352 |
352 let mockSensorProvider = new MockSensorProvider; | 353 let mockSensorProvider = new MockSensorProvider; |
353 mojo.frameInterfaces.addInterfaceOverrideForTesting( | 354 mojo.connector.addInterfaceOverrideForTesting( |
| 355 deviceConstants.kServiceName, |
354 sensor_provider.SensorProvider.name, | 356 sensor_provider.SensorProvider.name, |
355 pipe => { | 357 pipe => { |
356 mockSensorProvider.bindToPipe(pipe); | 358 mockSensorProvider.bindToPipe(pipe); |
357 }); | 359 }); |
358 | 360 |
359 return Promise.resolve({ | 361 return Promise.resolve({ |
360 mockSensorProvider: mockSensorProvider, | 362 mockSensorProvider: mockSensorProvider, |
361 }); | 363 }); |
362 }); | 364 }); |
363 } | 365 } |
364 | 366 |
365 function sensor_test(func, name, properties) { | 367 function sensor_test(func, name, properties) { |
366 mojo_test(mojo => sensor_mocks(mojo).then(sensor => { | 368 mojo_test(mojo => sensor_mocks(mojo).then(sensor => { |
367 // Clean up and reset mock sensor stubs asynchronously, so that the blink | 369 // Clean up and reset mock sensor stubs asynchronously, so that the blink |
368 // side closes its proxies and notifies JS sensor objects before new test is | 370 // side closes its proxies and notifies JS sensor objects before new test is |
369 // started. | 371 // started. |
370 let onSuccess = () => { | 372 let onSuccess = () => { |
371 sensor.mockSensorProvider.reset(); | 373 sensor.mockSensorProvider.reset(); |
372 return new Promise((resolve, reject) => { setTimeout(resolve, 0); }); | 374 return new Promise((resolve, reject) => { setTimeout(resolve, 0); }); |
373 }; | 375 }; |
374 | 376 |
375 let onFailure = error => { | 377 let onFailure = error => { |
376 sensor.mockSensorProvider.reset(); | 378 sensor.mockSensorProvider.reset(); |
377 return new Promise((resolve, reject) => { setTimeout(() => {reject(error);
}, 0); }); | 379 return new Promise((resolve, reject) => { setTimeout(() => {reject(error);
}, 0); }); |
378 }; | 380 }; |
379 | 381 |
380 return Promise.resolve(func(sensor)).then(onSuccess, onFailure); | 382 return Promise.resolve(func(sensor)).then(onSuccess, onFailure); |
381 }), name, properties); | 383 }), name, properties); |
382 } | 384 } |
OLD | NEW |