<html>
  <head>
    <title>DeviceMotion all-null event test</title>
  </head>
  <body>
    <div id="status">FAIL</div>
  </body>
  <script type="text/javascript">
    function checkMotionEvent(event) {
      return event.acceleration.x == null &&
             event.acceleration.y == null &&
             event.acceleration.z == null &&
             event.accelerationIncludingGravity.x == null &&
             event.accelerationIncludingGravity.y == null &&
             event.accelerationIncludingGravity.z == null &&
             event.rotationRate.alpha == null &&
             event.rotationRate.beta == null &&
             event.rotationRate.gamma == null;
    }

    function onMotion(event) {
      window.removeEventListener('devicemotion', onMotion);
      checkMotionEvent(event) ? pass() : fail();
    }

    function pass() {
      document.getElementById('status').innerHTML = 'PASS';
      document.location = '#pass';
    }

    function fail() {
      document.location = '#fail';
    }

    window.addEventListener('devicemotion', onMotion);
  </script>
</html>
