<html>
<head>
<script src="../resources/js-test.js"></script>
<script src="../resources/user-gesture-utils.js"></script>
<script src="vibration-utils.js"></script>
</head>
<body>
<h4 id="test"></h4>
<script>
description('Tests the cancelVibration during pattern vibration is working.');
var element = document.getElementById("test");
simulateUserClick(element.offsetLeft + 2, element.offsetTop + 2);
function vibrate(pattern) {
navigator.vibrate(pattern);
shouldBeTrue('internals.isVibrating(navigator)');
}
function cancelVibration(time) {
setTimeout(function() {
navigator.vibrate(0);
shouldBeFalse('internals.isVibrating(navigator)');
doNextTest();
}, time);
}
function doNextTest() {
if (count == 4)
finishJSTest();
doTest(++count);
}
function doTest(num) {
switch(num) {
case 1:
vibrate([20, 20, 20]);
cancelVibration(10);
break;
case 2:
vibrate([10, 10, 10]);
cancelVibration(15);
break;
case 3:
vibrate([10, 10, 10]);
cancelVibration(35);
break;
case 4:
vibrate([10, 10, 10, 10]);
cancelVibration(35);
break;
}
}
var count = 1;
if (window.testRunner) {
window.jsTestIsAsync = true;
shouldBeFalse('internals.isVibrating(navigator)');
doTest(count);
} else {
debug('This test can not be run without the TestRunner');
}
</script>
</body>
</html>