Basic Interface test for High Resolution Time APIs.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


Performance
PASS Performance is defined.
PASS Performance.prototype.now is defined.
PASS new Performance() threw exception TypeError: Illegal constructor.
performance
PASS performance is defined.
PASS performance instanceof Performance is true
PASS typeof performance.now() === "number" is true
PASS performance.now() <= performance.now() is true
PASS delta >= 95 && delta <= 120 is true

Starting worker: resources/now-api.js
[Worker] Performance
PASS [Worker] Performance is defined.
PASS [Worker] Performance.prototype.now is defined.
PASS [Worker] new Performance() threw exception TypeError: Illegal constructor.
[Worker] performance
PASS [Worker] performance is defined.
PASS [Worker] performance instanceof Performance is true
PASS [Worker] typeof performance.now() === "number" is true
PASS [Worker] performance.now() <= performance.now() is true
PASS [Worker] delta >= 95 && delta <= 120 is true
PASS successfullyParsed is true

TEST COMPLETE

