You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.5 KiB
43 lines
1.5 KiB
chai = require "chai" |
|
chai.use(require "chai-increasing") |
|
{assert,expect} = chai |
|
Bluebird = require "bluebird" |
|
|
|
now = require "../" |
|
|
|
getUptime = -> process.uptime() * 1e3 |
|
|
|
describe "now", -> |
|
it "reported time differs at most 1ms from a freshly reported uptime", -> |
|
assert.isAtMost Math.abs(now()-getUptime()), 1 |
|
|
|
it "two subsequent calls return an increasing number", -> |
|
assert.isBelow now(), now() |
|
|
|
it "has less than 10 microseconds overhead", -> |
|
assert.isBelow Math.abs(now() - now()), 0.010 |
|
|
|
it "can be called 1 million times in under 1 second (averaging under 1 microsecond per call)", -> |
|
@timeout 1000 |
|
now() for [0...1e6] |
|
undefined |
|
|
|
it "for 10,000 numbers, number n is never bigger than number n-1", -> |
|
stamps = (now() for [1...10000]) |
|
expect(stamps).to.be.increasing |
|
|
|
it "shows that at least 0.2 ms has passed after a timeout of 1 ms", -> |
|
earlier = now() |
|
Bluebird.resolve().delay(1).then -> assert.isAbove (now()-earlier), 0.2 |
|
|
|
it "shows that at most 3 ms has passed after a timeout of 1 ms", -> |
|
earlier = now() |
|
Bluebird.resolve().delay(1).then -> assert.isBelow (now()-earlier), 3 |
|
|
|
it "shows that at least 190ms ms has passed after a timeout of 200ms", -> |
|
earlier = now() |
|
Bluebird.resolve().delay(200).then -> assert.isAbove (now()-earlier), 190 |
|
|
|
it "shows that at most 220 ms has passed after a timeout of 200ms", -> |
|
earlier = now() |
|
Bluebird.resolve().delay(200).then -> assert.isBelow (now()-earlier), 220
|
|
|