OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <script src="../resources/testharness.js"></script> | 2 <script src="../resources/testharness.js"></script> |
3 <script src="../resources/testharnessreport.js"></script> | 3 <script src="../resources/testharnessreport.js"></script> |
4 <script src="../resources/mojo-helpers.js"></script> | 4 <script src="../resources/mojo-helpers.js"></script> |
5 <script src="resources/sensor-helpers.js"></script> | 5 <script src="resources/sensor-helpers.js"></script> |
6 <script> | 6 <script> |
7 | 7 |
8 'use strict'; | 8 'use strict'; |
9 | 9 |
10 if (!window.testRunner) | 10 if (!window.testRunner) |
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
178 return mockSensor.setUpdateSensorReadingFunction(update_sensor_reading); | 178 return mockSensor.setUpdateSensorReadingFunction(update_sensor_reading); |
179 }) | 179 }) |
180 .then((mockSensor) => { | 180 .then((mockSensor) => { |
181 return new Promise((resolve, reject) => { | 181 return new Promise((resolve, reject) => { |
182 ambientLightSensor.onstatechange = event => { | 182 ambientLightSensor.onstatechange = event => { |
183 if (ambientLightSensor.state === 'idle') { | 183 if (ambientLightSensor.state === 'idle') { |
184 resolve(mockSensor); | 184 resolve(mockSensor); |
185 } | 185 } |
186 }; | 186 }; |
187 | 187 |
188 ambientLightSensor.onchange = e => { | 188 ambientLightSensor.onchange = () => { |
189 assert_equals(e.reading.illuminance, kDefaultReadingValue); | 189 assert_equals(ambientLightSensor.reading.illuminance, kDefaultReadin
gValue); |
190 ambientLightSensor.stop(); | 190 ambientLightSensor.stop(); |
191 }; | 191 }; |
192 | 192 |
193 ambientLightSensor.onerror = reject; | 193 ambientLightSensor.onerror = reject; |
194 }); | 194 }); |
195 }) | 195 }) |
196 .then(mockSensor => { return mockSensor.removeConfigurationCalled(); }); | 196 .then(mockSensor => { return mockSensor.removeConfigurationCalled(); }); |
197 | 197 |
198 return testPromise; | 198 return testPromise; |
199 }, 'Test that onChange is called and sensor reading is valid.'); | 199 }, 'Test that onChange is called and sensor reading is valid.'); |
200 | 200 |
201 sensor_test(sensor => { | 201 sensor_test(sensor => { |
202 let ambientLightSensor = new AmbientLightSensor({frequency: 60}); | 202 let ambientLightSensor = new AmbientLightSensor({frequency: 60}); |
203 ambientLightSensor.start(); | 203 ambientLightSensor.start(); |
204 let testPromise = sensor.mockSensorProvider.getCreatedSensor() | 204 let testPromise = sensor.mockSensorProvider.getCreatedSensor() |
205 .then(mockSensor => { | 205 .then(mockSensor => { |
206 return mockSensor.setUpdateSensorReadingFunction(update_sensor_reading); | 206 return mockSensor.setUpdateSensorReadingFunction(update_sensor_reading); |
207 }) | 207 }) |
208 .then((mockSensor) => { | 208 .then((mockSensor) => { |
209 return new Promise((resolve, reject) => { | 209 return new Promise((resolve, reject) => { |
210 ambientLightSensor.onstatechange = () => { | 210 ambientLightSensor.onstatechange = () => { |
211 if (ambientLightSensor.state === 'idle') { | 211 if (ambientLightSensor.state === 'idle') { |
212 assert_equals(ambientLightSensor.reading, null); | 212 assert_equals(ambientLightSensor.reading, null); |
213 resolve(mockSensor); | 213 resolve(mockSensor); |
214 } | 214 } |
215 } | 215 } |
216 | 216 |
217 ambientLightSensor.onchange = e => { | 217 ambientLightSensor.onchange = () => { |
218 assert_equals(e.reading.illuminance, kDefaultReadingValue); | 218 assert_equals(ambientLightSensor.reading.illuminance, kDefaultReadin
gValue); |
219 ambientLightSensor.stop(); | 219 ambientLightSensor.stop(); |
220 } | 220 } |
221 ambientLightSensor.onerror = reject; | 221 ambientLightSensor.onerror = reject; |
222 }); | 222 }); |
223 }) | 223 }) |
224 .then(mockSensor => { return mockSensor.removeConfigurationCalled(); }); | 224 .then(mockSensor => { return mockSensor.removeConfigurationCalled(); }); |
225 | 225 |
226 return testPromise; | 226 return testPromise; |
227 }, 'Test that sensor reading is not updated when sensor is stopped.'); | 227 }, 'Test that sensor reading is not updated when sensor is stopped.'); |
228 | 228 |
229 sensor_test(sensor => { | 229 sensor_test(sensor => { |
230 let ambientLightSensor = new AmbientLightSensor(); | 230 let ambientLightSensor = new AmbientLightSensor(); |
231 ambientLightSensor.start(); | 231 ambientLightSensor.start(); |
232 let testPromise = sensor.mockSensorProvider.getCreatedSensor() | 232 let testPromise = sensor.mockSensorProvider.getCreatedSensor() |
233 .then(mockSensor => { | 233 .then(mockSensor => { |
234 return mockSensor.setUpdateSensorReadingFunction(update_sensor_reading); | 234 return mockSensor.setUpdateSensorReadingFunction(update_sensor_reading); |
235 }) | 235 }) |
236 .then((mockSensor) => { | 236 .then((mockSensor) => { |
237 return new Promise((resolve, reject) => { | 237 return new Promise((resolve, reject) => { |
238 ambientLightSensor.onchange = e => { | 238 ambientLightSensor.onchange = () => { |
239 if (e.reading.illuminance == kDefaultReadingValue) { | 239 if (ambientLightSensor.reading.illuminance == kDefaultReadingValue)
{ |
240 resolve(mockSensor); | 240 resolve(mockSensor); |
241 } | 241 } |
242 } | 242 } |
243 ambientLightSensor.onerror = reject; | 243 ambientLightSensor.onerror = reject; |
244 }); | 244 }); |
245 }) | 245 }) |
246 .then((mockSensor) => { | 246 .then((mockSensor) => { |
247 testRunner.setPageVisibility("hidden"); | 247 testRunner.setPageVisibility("hidden"); |
248 return mockSensor.suspendCalled(); | 248 return mockSensor.suspendCalled(); |
249 }) | 249 }) |
(...skipping 11 matching lines...) Expand all Loading... |
261 ambientLightSensor.stop(); | 261 ambientLightSensor.stop(); |
262 ambientLightSensor.onerror = reject; | 262 ambientLightSensor.onerror = reject; |
263 }); | 263 }); |
264 }) | 264 }) |
265 .then(mockSensor => { return mockSensor.removeConfigurationCalled(); }); | 265 .then(mockSensor => { return mockSensor.removeConfigurationCalled(); }); |
266 | 266 |
267 return testPromise; | 267 return testPromise; |
268 }, 'Test that sensor receives suspend / resume notifications when page' | 268 }, 'Test that sensor receives suspend / resume notifications when page' |
269 +' visibility changes.'); | 269 +' visibility changes.'); |
270 | 270 |
| 271 |
| 272 sensor_test(sensor => { |
| 273 let sensor1 = new AmbientLightSensor({frequency: 60}); |
| 274 sensor1.start(); |
| 275 |
| 276 let sensor2 = new AmbientLightSensor({frequency: 20}); |
| 277 sensor2.start(); |
| 278 let testPromise = sensor.mockSensorProvider.getCreatedSensor() |
| 279 .then(mockSensor => { |
| 280 return mockSensor.setUpdateSensorReadingFunction(update_sensor_reading); |
| 281 }) |
| 282 .then((mockSensor) => { |
| 283 return new Promise((resolve, reject) => { |
| 284 sensor1.onstatechange = event => { |
| 285 if (sensor1.state === 'idle') { |
| 286 resolve(mockSensor); |
| 287 } |
| 288 }; |
| 289 |
| 290 sensor1.onchange = () => { |
| 291 // Reading value is correct. |
| 292 assert_equals(sensor1.reading.illuminance, kDefaultReadingValue); |
| 293 |
| 294 // Both sensors share the same reading instance. |
| 295 let reading = sensor1.reading; |
| 296 assert_equals(reading, sensor2.reading); |
| 297 |
| 298 // After first sensor stops its reading is null, reading for second |
| 299 // sensor sensor remains. |
| 300 sensor1.stop(); |
| 301 assert_equals(sensor1.reading, null); |
| 302 assert_equals(sensor2.reading.illuminance, kDefaultReadingValue); |
| 303 |
| 304 sensor2.stop(); |
| 305 assert_equals(sensor2.reading, null); |
| 306 |
| 307 // Cached reading remains. |
| 308 assert_equals(reading.illuminance, kDefaultReadingValue); |
| 309 }; |
| 310 |
| 311 sensor1.onerror = reject; |
| 312 sensor2.onerror = reject; |
| 313 }); |
| 314 }) |
| 315 .then(mockSensor => { return mockSensor.removeConfigurationCalled(); }); |
| 316 |
| 317 return testPromise; |
| 318 }, 'Test that sensor reading is correct.'); |
| 319 |
271 </script> | 320 </script> |
OLD | NEW |