OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <h4 id="test"></h4> |
2 <script src="../resources/testharness.js"></script> | 3 <script src="../resources/testharness.js"></script> |
3 <script src="../resources/testharnessreport.js"></script> | 4 <script src="../resources/testharnessreport.js"></script> |
| 5 <script src="../resources/user-gesture-utils.js"></script> |
| 6 <script src="vibration-utils.js"></script> |
4 <script> | 7 <script> |
5 'use strict'; | 8 'use strict'; |
| 9 // Simulates a user click for vibrate to be allowed. |
| 10 // See: https://www.chromestatus.com/feature/5644273861001216. |
| 11 simulateUserClick("test"); |
6 | 12 |
7 test(() => { | 13 test(() => { |
8 // Initially the page is hidden and no vibration can be started. | 14 // Initially the page is hidden and no vibration can be started. |
9 testRunner.setPageVisibility('hidden'); | 15 testRunner.setPageVisibility('hidden'); |
10 assert_false(navigator.vibrate(1001)); | 16 assert_false(navigator.vibrate(1001)); |
11 assert_array_equals(internals.pendingVibrationPattern(navigator), []); | 17 assert_array_equals(internals.pendingVibrationPattern(navigator), []); |
12 assert_false(internals.isVibrating(navigator)); | 18 assert_false(internals.isVibrating(navigator)); |
13 | 19 |
14 // Once the page is visible a vibration can be started. | 20 // Once the page is visible a vibration can be started. |
15 testRunner.setPageVisibility('visible'); | 21 testRunner.setPageVisibility('visible'); |
16 assert_true(navigator.vibrate(1002)); | 22 assert_true(navigator.vibrate(1002)); |
17 assert_array_equals(internals.pendingVibrationPattern(navigator), [1002]); | 23 assert_array_equals(internals.pendingVibrationPattern(navigator), [1002]); |
18 assert_true(internals.isVibrating(navigator)); | 24 assert_true(internals.isVibrating(navigator)); |
19 | 25 |
20 // When the page is hidden again the vibration is cancelled. | 26 // When the page is hidden again the vibration is cancelled. |
21 testRunner.setPageVisibility('hidden'); | 27 testRunner.setPageVisibility('hidden'); |
22 assert_array_equals(internals.pendingVibrationPattern(navigator), []); | 28 assert_array_equals(internals.pendingVibrationPattern(navigator), []); |
23 assert_false(internals.isVibrating(navigator)); | 29 assert_false(internals.isVibrating(navigator)); |
24 }, 'Vibration should not start and it should cancel when the page is hidden.'); | 30 }, 'Vibration should not start and it should cancel when the page is hidden.'); |
25 </script> | 31 </script> |
OLD | NEW |