node/test/fixtures/wpt/hr-time/basic.any.js
Michaël Zasso 0c11f2ee06
test: update all Web Platform Tests
PR-URL: https://github.com/nodejs/node/pull/37467
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
2021-03-03 22:16:32 +01:00

38 lines
1.7 KiB
JavaScript

test(function() {
assert_true((self.performance !== undefined), "self.performance exists");
assert_equals(typeof self.performance, "object", "self.performance is an object");
assert_equals((typeof self.performance.now), "function", "self.performance.now() is a function");
assert_equals(typeof self.performance.now(), "number", "self.performance.now() returns a number");
}, "self.performance.now() is a function that returns a number");
test(function() {
assert_true(self.performance.now() > 0);
}, "self.performance.now() returns a positive number");
test(function() {
var now1 = self.performance.now();
var now2 = self.performance.now();
assert_true((now2-now1) >= 0);
}, "self.performance.now() difference is not negative");
async_test(function() {
// Check whether the performance.now() method is close to Date() within 30ms (due to inaccuracies)
var initial_hrt = self.performance.now();
var initial_date = Date.now();
this.step_timeout(function() {
var final_hrt = self.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');
test(function() {
var didHandle = false;
self.performance.addEventListener("testEvent", function() {
didHandle = true;
}, { once: true} );
self.performance.dispatchEvent(new Event("testEvent"));
assert_true(didHandle, "Performance extends EventTarget, so event dispatching should work.");
}, "Performance interface extends EventTarget.");