| 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 var element = document.getElementById("test"); |
| 11 simulateUserClick(element.offsetLeft + 2, element.offsetTop + 2); |
| 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 |