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 var element = document.getElementById("test"); |
| 12 simulateUserClick(element.offsetLeft + 2, element.offsetTop + 2); |
6 | 13 |
7 test(() => { | 14 test(() => { |
8 // Initially the page is hidden and no vibration can be started. | 15 // Initially the page is hidden and no vibration can be started. |
9 testRunner.setPageVisibility('hidden'); | 16 testRunner.setPageVisibility('hidden'); |
10 assert_false(navigator.vibrate(1001)); | 17 assert_false(navigator.vibrate(1001)); |
11 assert_array_equals(internals.pendingVibrationPattern(navigator), []); | 18 assert_array_equals(internals.pendingVibrationPattern(navigator), []); |
12 assert_false(internals.isVibrating(navigator)); | 19 assert_false(internals.isVibrating(navigator)); |
13 | 20 |
14 // Once the page is visible a vibration can be started. | 21 // Once the page is visible a vibration can be started. |
15 testRunner.setPageVisibility('visible'); | 22 testRunner.setPageVisibility('visible'); |
16 assert_true(navigator.vibrate(1002)); | 23 assert_true(navigator.vibrate(1002)); |
17 assert_array_equals(internals.pendingVibrationPattern(navigator), [1002]); | 24 assert_array_equals(internals.pendingVibrationPattern(navigator), [1002]); |
18 assert_true(internals.isVibrating(navigator)); | 25 assert_true(internals.isVibrating(navigator)); |
19 | 26 |
20 // When the page is hidden again the vibration is cancelled. | 27 // When the page is hidden again the vibration is cancelled. |
21 testRunner.setPageVisibility('hidden'); | 28 testRunner.setPageVisibility('hidden'); |
22 assert_array_equals(internals.pendingVibrationPattern(navigator), []); | 29 assert_array_equals(internals.pendingVibrationPattern(navigator), []); |
23 assert_false(internals.isVibrating(navigator)); | 30 assert_false(internals.isVibrating(navigator)); |
24 }, 'Vibration should not start and it should cancel when the page is hidden.'); | 31 }, 'Vibration should not start and it should cancel when the page is hidden.'); |
25 </script> | 32 </script> |
OLD | NEW |