| <!DOCTYPE html> |
| <meta charset="utf-8"> |
| <title>AmbientLightSensor Test</title> |
| <meta name="timeout" content="long"> |
| <link rel="author" title="Intel" href="http://www.intel.com"> |
| <link rel="help" href="https://www.w3.org/TR/ambient-light/"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/generic-sensor/resources/generic-sensor-helpers.js"></script> |
| <script src="/generic-sensor/generic-sensor-tests.js"></script> |
| <script> |
| |
| 'use strict'; |
| |
| const kReadings = { |
| readings: [ |
| [3.1415] |
| ], |
| expectedReadings: [ |
| [3.1415] |
| ] |
| }; |
| |
| runGenericSensorTests( |
| 'AmbientLightSensor', |
| kReadings, |
| verifyAlsSensorReading, |
| ['ambient-light-sensor']); |
| |
| sensor_test(async (t, sensorProvider) => { |
| const sensor1 = new AmbientLightSensor(); |
| const sensor2 = new AmbientLightSensor(); |
| |
| return new Promise((resolve, reject) => { |
| sensor1.addEventListener('reading', () => { |
| sensor2.addEventListener('activate', () => { |
| try { |
| assert_true(sensor1.activated); |
| assert_true(sensor1.hasReading); |
| assert_not_equals(sensor1.illuminance, null); |
| assert_not_equals(sensor1.timestamp, null); |
| |
| assert_true(sensor2.activated); |
| assert_not_equals(sensor2.illuminance, null); |
| assert_not_equals(sensor2.timestamp, null); |
| } catch (e) { |
| reject(e); |
| } |
| }, { once: true }); |
| sensor2.addEventListener('reading', () => { |
| try { |
| assert_true(sensor2.activated); |
| assert_true(sensor2.hasReading); |
| assert_equals(sensor1.illuminance, sensor2.illuminance); |
| assert_equals(sensor1.timestamp, sensor2.timestamp); |
| resolve(); |
| } catch (e) { |
| reject(e); |
| } |
| }, { once: true }); |
| sensor2.start(); |
| }, { once: true }); |
| sensor1.start(); |
| }); |
| }, "Readings delivered by shared platform sensor are immediately accessible to all sensors."); |
| |
| </script> |