blob: 9339d358e6ae23edd23754f4e58c9081523c46e9 [file] [log] [blame]
<!DOCTYPE html>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<script src="../resources/mojo-helpers.js"></script>
<script src="resources/sensor-helpers.js"></script>
<script src="resources/generic-sensor-tests.js"></script>
<script>
'use strict';
if (!window.testRunner)
debug('This test cannot be run without the TestRunner');
const kDefaultReadingX = 1.12345;
const kDefaultReadingY = 2.12345;
const kDefaultReadingZ = 3.12345;
function update_sensor_reading(buffer, expects_modified_reading, readsCount) {
buffer[1] = window.performance.now();
buffer[2] = kDefaultReadingX;
buffer[3] = kDefaultReadingY;
buffer[4] = kDefaultReadingZ;
if (expects_modified_reading)
buffer[2] += readsCount;
}
function verify_sensor_reading(reading) {
return reading.x == kDefaultReadingX &&
reading.y == kDefaultReadingY &&
reading.z == kDefaultReadingZ;
}
runGenericSensorTests(Accelerometer, update_sensor_reading, verify_sensor_reading);
sensor_test(sensor => {
let accelerometer = new Accelerometer({includeGravity: false});
accelerometer.start();
let testPromise = sensor.mockSensorProvider.getCreatedSensor()
.then(mockSensor => {
return new Promise((resolve, reject) => {
let wrapper = new CallbackWrapper(() => {
let configuration = mockSensor.active_sensor_configurations_[0];
assert_equals(accelerometer.includesGravity, false);
accelerometer.stop();
assert_equals(accelerometer.state, 'idle');
resolve(mockSensor);
}, reject);
accelerometer.onactivate = wrapper.callback;
accelerometer.onerror = reject;
});
})
.then(mockSensor => { return mockSensor.removeConfigurationCalled(); });
return testPromise;
}, 'Test that sensor can be successfully created with sensor specific configuration parameter.');
</script>