[79a0317] | 1 | chai = require "chai"
|
---|
| 2 | chai.use(require "chai-increasing")
|
---|
| 3 | {assert,expect} = chai
|
---|
| 4 | Bluebird = require "bluebird"
|
---|
| 5 |
|
---|
| 6 | now = require "../"
|
---|
| 7 |
|
---|
| 8 | getUptime = -> process.uptime() * 1e3
|
---|
| 9 |
|
---|
| 10 | describe "now", ->
|
---|
| 11 | it "reported time differs at most 1ms from a freshly reported uptime", ->
|
---|
| 12 | assert.isAtMost Math.abs(now()-getUptime()), 1
|
---|
| 13 |
|
---|
| 14 | it "two subsequent calls return an increasing number", ->
|
---|
| 15 | assert.isBelow now(), now()
|
---|
| 16 |
|
---|
| 17 | it "has less than 10 microseconds overhead", ->
|
---|
| 18 | assert.isBelow Math.abs(now() - now()), 0.010
|
---|
| 19 |
|
---|
| 20 | it "can be called 1 million times in under 1 second (averaging under 1 microsecond per call)", ->
|
---|
| 21 | @timeout 1000
|
---|
| 22 | now() for [0...1e6]
|
---|
| 23 | undefined
|
---|
| 24 |
|
---|
| 25 | it "for 10,000 numbers, number n is never bigger than number n-1", ->
|
---|
| 26 | stamps = (now() for [1...10000])
|
---|
| 27 | expect(stamps).to.be.increasing
|
---|
| 28 |
|
---|
| 29 | it "shows that at least 0.2 ms has passed after a timeout of 1 ms", ->
|
---|
| 30 | earlier = now()
|
---|
| 31 | Bluebird.resolve().delay(1).then -> assert.isAbove (now()-earlier), 0.2
|
---|
| 32 |
|
---|
| 33 | it "shows that at most 3 ms has passed after a timeout of 1 ms", ->
|
---|
| 34 | earlier = now()
|
---|
| 35 | Bluebird.resolve().delay(1).then -> assert.isBelow (now()-earlier), 3
|
---|
| 36 |
|
---|
| 37 | it "shows that at least 190ms ms has passed after a timeout of 200ms", ->
|
---|
| 38 | earlier = now()
|
---|
| 39 | Bluebird.resolve().delay(200).then -> assert.isAbove (now()-earlier), 190
|
---|
| 40 |
|
---|
| 41 | it "shows that at most 220 ms has passed after a timeout of 200ms", ->
|
---|
| 42 | earlier = now()
|
---|
| 43 | Bluebird.resolve().delay(200).then -> assert.isBelow (now()-earlier), 220
|
---|