performance-now.coffee
1.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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