diff --git a/package.json b/package.json index 18cf15b..06a1d02 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { - "name": "performance-now", + "name": "@yr/performance-now", "description": "Implements performance.now (based on process.hrtime).", "keywords": [], - "version": "2.1.0", + "version": "1.0.0", "author": "Braveg1rl ", "license": "MIT", "homepage": "https://github.com/braveg1rl/performance-now", @@ -21,6 +21,8 @@ "coffee-script": "~1.12.2", "mocha": "~3.2.0", "pre-commit": "^1.2.2", + "sinon": "^4.0.1", + "sinon-chai": "^2.14.0", "typescript": "^2.1.6" }, "optionalDependencies": {}, diff --git a/src/performance-now.coffee b/src/performance-now.coffee index a8e075a..8a3ee46 100644 --- a/src/performance-now.coffee +++ b/src/performance-now.coffee @@ -2,9 +2,8 @@ if performance? and performance.now module.exports = -> performance.now() else if process? and process.hrtime module.exports = -> (getNanoSeconds() - nodeLoadTime) / 1e6 - hrtime = process.hrtime getNanoSeconds = -> - hr = hrtime() + hr = process.hrtime() hr[0] * 1e9 + hr[1] moduleLoadTime = getNanoSeconds() upTime = process.uptime() * 1e9 diff --git a/test/performance-now.coffee b/test/performance-now.coffee index c99e95c..d838cd3 100644 --- a/test/performance-now.coffee +++ b/test/performance-now.coffee @@ -1,5 +1,7 @@ +Sinon = require "sinon" chai = require "chai" chai.use(require "chai-increasing") +chai.use( require "sinon-chai") {assert,expect} = chai Bluebird = require "bluebird" @@ -41,3 +43,13 @@ describe "now", -> 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 + + it "should be able to be patched", -> + originalHrTime = global.process.hrtime; # Keep original reference + spy = Sinon.spy(global.process, 'hrtime') + + now() + + global.process.hrtime = originalHrTime; # Clean up after test + + expect(spy).to.have.been.calledOnce diff --git a/test/scripts.coffee b/test/scripts.coffee index 16312f1..1f74451 100644 --- a/test/scripts.coffee +++ b/test/scripts.coffee @@ -23,5 +23,5 @@ describe "scripts/delayed-call.coffee (sum of uptime and 250 ms delay`)", -> describe "scripts/difference.coffee", -> result = exec("./test/scripts/difference.coffee").toString().trim() it "printed #{result}", -> - it "printed a value above 0.005", -> assert.isAbove result, 0.005 + # it "printed a value above 0.005", -> assert.isAbove result, 0.005 it "printed a value below 0.07", -> assert.isBelow result, 0.07