66 lines
2.0 KiB
HTML
66 lines
2.0 KiB
HTML
<html>
|
|
<head>
|
|
<script src="../../../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body>
|
|
<script>
|
|
description('Tests using null values for some of the event properties.');
|
|
|
|
var mockEvent;
|
|
function setMockOrientation(alpha, beta, gamma) {
|
|
mockEvent = {alpha: alpha, beta: beta, gamma: gamma};
|
|
if (window.testRunner)
|
|
testRunner.setMockDeviceOrientation(
|
|
null != mockEvent.alpha, null == mockEvent.alpha ? 0 : mockEvent.alpha,
|
|
null != mockEvent.beta, null == mockEvent.beta ? 0 : mockEvent.beta,
|
|
null != mockEvent.gamma, null == mockEvent.gamma ? 0 : mockEvent.gamma);
|
|
else
|
|
debug('This test can not be run without the TestRunner');
|
|
}
|
|
|
|
var deviceOrientationEvent;
|
|
function checkOrientation(event) {
|
|
deviceOrientationEvent = event;
|
|
shouldBe('deviceOrientationEvent.alpha', 'mockEvent.alpha');
|
|
shouldBe('deviceOrientationEvent.beta', 'mockEvent.beta');
|
|
shouldBe('deviceOrientationEvent.gamma', 'mockEvent.gamma');
|
|
}
|
|
|
|
function firstListener(event) {
|
|
checkOrientation(event);
|
|
window.removeEventListener('deviceorientation', firstListener);
|
|
|
|
setMockOrientation(1.1, null, null);
|
|
window.addEventListener('deviceorientation', secondListener);
|
|
}
|
|
|
|
function secondListener(event) {
|
|
checkOrientation(event);
|
|
window.removeEventListener('deviceorientation', secondListener);
|
|
|
|
setMockOrientation(null, 2.2, null);
|
|
window.addEventListener('deviceorientation', thirdListener);
|
|
}
|
|
|
|
function thirdListener(event) {
|
|
checkOrientation(event);
|
|
window.removeEventListener('deviceorientation', thirdListener);
|
|
|
|
setMockOrientation(null, null, 3.3);
|
|
window.addEventListener('deviceorientation', fourthListener);
|
|
}
|
|
|
|
function fourthListener(event) {
|
|
checkOrientation(event);
|
|
finishJSTest();
|
|
}
|
|
|
|
setMockOrientation(null, null, null);
|
|
window.addEventListener('deviceorientation', firstListener);
|
|
|
|
window.jsTestIsAsync = true;
|
|
</script>
|
|
<script src="../../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|