summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/orientation-event/motion/null-values.https.html
blob: f875afcd64dbae3b91208938cf35a5ffcf3f046a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<!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>