| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta charset='utf-8'/> |
| <title>Vibration API: test that calls to vibrate() are silently ignored when the device cannot vibrate</title> |
| <link rel='author' title='Robin Berjon' href='mailto:robin@berjon.com'/> |
| <link rel='help' href='https://w3c.github.io/vibration/#dfn-perform-vibration'/> |
| <meta name='flags' content='dom, no-vibrator'/> |
| <meta name='assert' content='If the device does not provide a vibration mechanism, or it is disabled, the user agent must silently ignore any invocations of the vibrate() method.'/> |
| </head> |
| <body> |
| <h1>Description</h1> |
| <p> |
| <strong>This test is only useful on devices that do not have vibration capability</strong>. |
| If your device supports vibration, then <strong>skip</strong> this test. An implementation |
| supporting this API but running on a device that cannot vibrate must silently ignore the |
| call (we test that it doesn't throw). |
| </p> |
| <button type="button" id="button">Click here if the device doesn't support vibration</button> |
| <div id='log'></div> |
| <script src='/resources/testharness.js'></script> |
| <script src='/resources/testharnessreport.js'></script> |
| <script src='/resources/testdriver.js'></script> |
| <script src='/resources/testdriver-vendor.js'></script> |
| <script> |
| if (undefined !== navigator.vibrate) { |
| async_test(function (t) { |
| var target = document.getElementById('button'); |
| target.addEventListener("click", t.step_func_done(function() { |
| assert_true(navigator.vibrate(1000), "vibrate() returns true when vibration is not supported"); |
| })); |
| test_driver.click(target).catch(t.unreached_func("click failed")); |
| }, "Calling vibrate returns true"); |
| } |
| </script> |
| </body> |
| </html> |