Blame view

node_modules/performance-now/test/performance-now.coffee 1.46 KB
aaac7fed   liuqimichale   add
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
39
40
41
42
43
  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