38 lines
1.1 KiB
CoffeeScript
38 lines
1.1 KiB
CoffeeScript
|
assert = require "assert"
|
||
|
|
||
|
delay = (ms, fn) -> setTimeout fn, ms
|
||
|
now = undefined
|
||
|
describe "now", ->
|
||
|
it "initially gives a near zero (< 20 ms) time ", ->
|
||
|
now = require "../"
|
||
|
assert now() < 20
|
||
|
|
||
|
it "gives a positive time", ->
|
||
|
assert now() > 0
|
||
|
|
||
|
it "two subsequent calls return an increasing number", ->
|
||
|
a = now()
|
||
|
b = now()
|
||
|
assert now() < now()
|
||
|
|
||
|
it "has less than 10 microseconds overhead", ->
|
||
|
Math.abs(now() - now()) < 0.010
|
||
|
|
||
|
it "can do 1,000,000 calls really quickly", ->
|
||
|
now() for i in [0...1000000]
|
||
|
|
||
|
it "shows that at least 990 ms has passed after a timeout of 1 second", (done) ->
|
||
|
a = now()
|
||
|
delay 1000, ->
|
||
|
b = now()
|
||
|
diff = b - a
|
||
|
return done new Error "Diff (#{diff}) lower than 990." if diff < 990
|
||
|
return done null
|
||
|
|
||
|
it "shows that not more than 1020 ms has passed after a timeout of 1 second", (done) ->
|
||
|
a = now()
|
||
|
delay 1000, ->
|
||
|
b = now()
|
||
|
diff = b - a
|
||
|
return done new Error "Diff (#{diff}) higher than 1020." if diff > 1020
|
||
|
return done null
|