Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/sensor/ambient-light-sensor.html |
| diff --git a/third_party/WebKit/LayoutTests/sensor/ambient-light-sensor.html b/third_party/WebKit/LayoutTests/sensor/ambient-light-sensor.html |
| index 29d94cdbb2038c92ef6c8693c3776fd6805f08d0..96f31398f4005e8be1812beceef88b206a65cd03 100644 |
| --- a/third_party/WebKit/LayoutTests/sensor/ambient-light-sensor.html |
| +++ b/third_party/WebKit/LayoutTests/sensor/ambient-light-sensor.html |
| @@ -184,7 +184,7 @@ sensor_test(sensor => { |
| }; |
| ambientLightSensor.onchange = e => { |
|
shalamov
2016/11/04 13:06:53
If event doesn't have associated reading, maybe yo
Mikhail
2016/11/04 13:20:47
Done.
|
| - assert_equals(e.reading.illuminance, kDefaultReadingValue); |
| + assert_equals(ambientLightSensor.reading.illuminance, kDefaultReadingValue); |
| ambientLightSensor.stop(); |
| }; |
| @@ -213,7 +213,7 @@ sensor_test(sensor => { |
| } |
| ambientLightSensor.onchange = e => { |
| - assert_equals(e.reading.illuminance, kDefaultReadingValue); |
| + assert_equals(ambientLightSensor.reading.illuminance, kDefaultReadingValue); |
| ambientLightSensor.stop(); |
| } |
| ambientLightSensor.onerror = reject; |
| @@ -234,7 +234,7 @@ sensor_test(sensor => { |
| .then((mockSensor) => { |
| return new Promise((resolve, reject) => { |
| ambientLightSensor.onchange = e => { |
| - if (e.reading.illuminance == kDefaultReadingValue) { |
| + if (ambientLightSensor.reading.illuminance == kDefaultReadingValue) { |
| resolve(mockSensor); |
| } |
| } |
| @@ -266,4 +266,54 @@ sensor_test(sensor => { |
| }, 'Test that sensor receives suspend / resume notifications when page' |
| +' visibility changes.'); |
| + |
| +sensor_test(sensor => { |
| + let sensor1 = new AmbientLightSensor({frequency: 60}); |
| + sensor1.start(); |
| + |
| + let sensor2 = new AmbientLightSensor({frequency: 20}); |
| + sensor2.start(); |
| + let testPromise = sensor.mockSensorProvider.getCreatedSensor() |
| + .then(mockSensor => { |
| + return mockSensor.setUpdateSensorReadingFunction(update_sensor_reading); |
| + }) |
| + .then((mockSensor) => { |
| + return new Promise((resolve, reject) => { |
| + sensor1.onstatechange = event => { |
| + if (sensor1.state === 'idle') { |
| + resolve(mockSensor); |
| + } |
| + }; |
| + |
| + sensor1.onchange = e => { |
| + // Reading value is correct. |
| + assert_equals(sensor1.reading.illuminance, kDefaultReadingValue); |
| + |
| + // Both sensors share the same reading instance. |
| + let reading = sensor1.reading; |
| + assert_equals(reading, sensor2.reading); |
| + |
| + // After first sensor stops its reading is null, reading for second |
| + // sensor sensor remains. |
| + sensor1.stop(); |
| + assert_equals(sensor1.reading, null); |
| + assert_equals(sensor2.reading.illuminance, kDefaultReadingValue); |
| + |
| + sensor2.stop(); |
| + assert_equals(sensor2.reading, null); |
| + reject(); |
| + |
| + // Cached reading remains. |
| + assert_equals(reading.illuminance, kDefaultReadingValue); |
| + }; |
| + |
| + sensor1.onerror = reject; |
| + sensor2.onerror = reject; |
| + }); |
| + }) |
| + .then(mockSensor => { return mockSensor.removeConfigurationCalled(); }); |
| + |
| + return testPromise; |
| +}, 'Test that sensor reading is correct.'); |
| + |
| </script> |