Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<script src="../resources/orientation-event-helpers.js"></script>
<script>
'use strict';
promise_test(async (t) => {
const helper = new SensorTestHelper(t, 'devicemotion');
await helper.grantSensorsPermissions();
const motionData1 = generateMotionData(1, 2, 3,
null, null, null,
null, null, null);
const motionData2 = generateMotionData(null, null, null,
1, 2, 3,
null, null, null);
const motionData3 = generateMotionData(null, null, null,
null, null, null,
1, 2, 3);
const motionData4 = generateMotionData(null, null, null,
null, null, null,
null, null, null);
await helper.initializeSensors({disabledSensors: ['accelerometer','gyroscope']});
await helper.setData(motionData1);
await waitForEvent(getExpectedMotionEvent(motionData1));
// If test needs to change virtual sensor state from connected to not
// connected or vise versa, reset needs to be called. It removes created
// virtual sensors and creating them with different connection state is then
// possible.
await helper.reset();
await helper.initializeSensors({disabledSensors: ['linear-acceleration','gyroscope']});
await helper.setData(motionData2);
await waitForEvent(getExpectedMotionEvent(motionData2));
await helper.reset();
await helper.initializeSensors({disabledSensors: ['accelerometer','linear-acceleration']});
await helper.setData(motionData3);
await waitForEvent(getExpectedMotionEvent(motionData3));
await helper.reset();
await helper.initializeSensors({disabledSensors: ['accelerometer','linear-acceleration','gyroscope']});
await helper.setData(motionData4);
await waitForEvent(getExpectedMotionEvent(motionData4));
}, 'Tests using null values for some or all of the event properties.');
</script>