| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta charset="utf-8" /> |
| <title>window.performance.now exists</title> |
| <link rel="author" title="W3C" href="http://www.w3.org/" /> |
| <link rel="help" href="http://www.w3.org/TR/hr-time/#sec-extenstions-performance-interface"/> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script> |
| test(function() { |
| assert_equals(typeof window.performance, "object"); |
| }, "window.performance is defined", {assert: "The window.performance attribute provides a hosting area for performance related attributes."}); |
| |
| test(function() { |
| assert_not_equals(window.performance.now, undefined, 'window.performance.now is defined'); |
| }, "High Resolution Time extension to the Performance interface", {assert: "window.performance.now exists"}); |
| |
| test(function() { |
| assert_equals(typeof window.performance.now, "function", "window.performance.now is a function"); |
| }, "window.performance.now() function", {assert: "window.performance.now is a function"}); |
| |
| test(function() { |
| assert_equals(typeof window.performance.now(), "number", "window.performance.now() returns a number"); |
| }, "window.performance.now() returns a number", {assert: "The now method MUST return a DOMHighResTimeStamp"}); |
| |
| async_test(function() { |
| // Check whether the performance.now() method is close to Date() within 30ms (due to inaccuracies) |
| var initial_hrt = performance.now(); |
| var initial_date = Date.now(); |
| this.step_timeout(function() { |
| var final_hrt = performance.now(); |
| var final_date = Date.now(); |
| assert_approx_equals(final_hrt - initial_hrt, final_date - initial_date, 30, 'High resolution time value increased by approximately the same amount as time from date object'); |
| this.done(); |
| }, 2000); |
| }, 'High resolution time has approximately the right relative magnitude'); |
| </script> |
| </head> |
| <body> |
| <h1>Description</h1> |
| <p>This test validates that window.performance.now() exist and is a function.</p> |
| |
| <div id="log"></div> |
| |
| </body> |
| </html> |