blob: dfc5d2123c9a7454085d592c7a2267cefab59e0f [file] [log] [blame]
<html>
<head>
<title>DeviceMotion only some sensors are available test</title>
<script type="text/javascript">
let expectedInterval = Math.floor(1000 / 60);
let kRadiansToDegrees = 180 / Math.PI;
function checkMotionEvent(event) {
return event.acceleration.x == 1 &&
event.acceleration.y == 2 &&
event.acceleration.z == 3 &&
event.accelerationIncludingGravity.x == null &&
event.accelerationIncludingGravity.y == null &&
event.accelerationIncludingGravity.z == null &&
event.rotationRate.alpha == 7 * kRadiansToDegrees &&
event.rotationRate.beta == 8 * kRadiansToDegrees &&
event.rotationRate.gamma == 9 * kRadiansToDegrees &&
event.interval == expectedInterval;
}
function onMotion(event) {
if (checkMotionEvent(event)) {
window.removeEventListener('devicemotion', onMotion);
pass();
} else {
console.log("event.acceleration.x is: " + event.acceleration.x);
console.log("event.acceleration.y is: " + event.acceleration.y);
console.log("event.acceleration.z is: " + event.acceleration.z);
console.log("event.accelerationIncludingGravity.x is: " + event.accelerationIncludingGravity.x);
console.log("event.accelerationIncludingGravity.y is: " + event.accelerationIncludingGravity.y);
console.log("event.accelerationIncludingGravity.z is: " + event.accelerationIncludingGravity.z);
console.log("event.rotationRate.alpha is: " + event.rotationRate.alpha);
console.log("event.rotationRate.beta is: " + event.rotationRate.beta);
console.log("event.rotationRate.gamma is: " + event.rotationRate.gamma);
console.log("event.interval is: " + event.interval);
fail();
}
}
function pass() {
document.getElementById('status').innerHTML = 'PASS';
document.location = '#pass';
}
function fail() {
document.location = '#fail';
}
</script>
</head>
<body onLoad="window.addEventListener('devicemotion', onMotion)">
<div id="status">FAIL</div>
</body>
</html>