diff options
author | Michał Gołębiowski <m.goleb@gmail.com> | 2014-02-02 22:17:23 +0100 |
---|---|---|
committer | Michał Gołębiowski <m.goleb@gmail.com> | 2014-02-02 22:20:00 +0100 |
commit | 2f202b034fe53a32bd43fdfa75d69a69753f9598 (patch) | |
tree | 712a8612d24ac876156994f992e2b1e2e37a560b | |
parent | 4c7250cf2fc3aa32f5f2aa0714e9f08eb4bc546c (diff) | |
download | jquery-2f202b034fe53a32bd43fdfa75d69a69753f9598.tar.gz jquery-2f202b034fe53a32bd43fdfa75d69a69753f9598.zip |
Build: Switch to explicit dependencies versions in bower.json
(cherry-picked from cd4e25e991898bf07ce82fe4ab3d60c32b4a5fc9)
-rw-r--r-- | bower.json | 6 | ||||
-rw-r--r-- | test/libs/sinon/fake_timers.js | 42 | ||||
-rw-r--r-- | test/libs/sinon/timers_ie.js | 4 |
3 files changed, 45 insertions, 7 deletions
diff --git a/bower.json b/bower.json index 456ed301a..eb8bf94ea 100644 --- a/bower.json +++ b/bower.json @@ -16,9 +16,9 @@ "sizzle": "1.10.16" }, "devDependencies": { - "requirejs": "~2.1.8", - "qunit": "~1.12.0", - "sinon": "~1.7.3" + "requirejs": "2.1.10", + "qunit": "1.12.0", + "sinon": "1.8.1" }, "keywords": [ "jquery", diff --git a/test/libs/sinon/fake_timers.js b/test/libs/sinon/fake_timers.js index ed7352ad9..dbcdb8b68 100644 --- a/test/libs/sinon/fake_timers.js +++ b/test/libs/sinon/fake_timers.js @@ -31,6 +31,10 @@ if (typeof sinon == "undefined") { throw new Error("Function requires at least 1 parameter"); } + if (typeof args[0] === "undefined") { + throw new Error("Callback must be provided to timer calls"); + } + var toId = id++; var delay = args[1] || 0; @@ -132,6 +136,16 @@ if (typeof sinon == "undefined") { this.clearTimeout(timerId); }, + setImmediate: function setImmediate(callback) { + var passThruArgs = Array.prototype.slice.call(arguments, 1); + + return addTimer.call(this, [callback, 0].concat(passThruArgs), false); + }, + + clearImmediate: function clearImmediate(timerId) { + this.clearTimeout(timerId); + }, + tick: function tick(ms) { ms = typeof ms == "number" ? ms : parseTime(ms); var tickFrom = this.now, tickTo = this.now + ms, previous = this.now; @@ -162,7 +176,7 @@ if (typeof sinon == "undefined") { }, firstTimerInRange: function (from, to) { - var timer, smallest, originalTimer; + var timer, smallest = null, originalTimer; for (var id in this.timeouts) { if (this.timeouts.hasOwnProperty(id)) { @@ -170,7 +184,7 @@ if (typeof sinon == "undefined") { continue; } - if (!smallest || this.timeouts[id].callAt < smallest) { + if (smallest === null || this.timeouts[id].callAt < smallest) { originalTimer = this.timeouts[id]; smallest = this.timeouts[id].callAt; @@ -276,21 +290,39 @@ if (typeof sinon == "undefined") { target.parse = source.parse; target.UTC = source.UTC; target.prototype.toUTCString = source.prototype.toUTCString; + + for (var prop in source) { + if (source.hasOwnProperty(prop)) { + target[prop] = source[prop]; + } + } + return target; } var methods = ["Date", "setTimeout", "setInterval", "clearTimeout", "clearInterval"]; + if (typeof global.setImmediate !== "undefined") { + methods.push("setImmediate"); + } + + if (typeof global.clearImmediate !== "undefined") { + methods.push("clearImmediate"); + } + function restore() { var method; for (var i = 0, l = this.methods.length; i < l; i++) { method = this.methods[i]; + if (global[method].hadOwnProperty) { global[method] = this["_" + method]; } else { - delete global[method]; + try { + delete global[method]; + } catch (e) {} } } @@ -341,11 +373,13 @@ if (typeof sinon == "undefined") { sinon.timers = { setTimeout: setTimeout, clearTimeout: clearTimeout, + setImmediate: (typeof setImmediate !== "undefined" ? setImmediate : undefined), + clearImmediate: (typeof clearImmediate !== "undefined" ? clearImmediate: undefined), setInterval: setInterval, clearInterval: clearInterval, Date: Date }; -if (typeof module == "object" && typeof require == "function") { +if (typeof module !== 'undefined' && module.exports) { module.exports = sinon; } diff --git a/test/libs/sinon/timers_ie.js b/test/libs/sinon/timers_ie.js index 7903a0e78..fe8f399c6 100644 --- a/test/libs/sinon/timers_ie.js +++ b/test/libs/sinon/timers_ie.js @@ -14,6 +14,8 @@ */ function setTimeout() {} function clearTimeout() {} +function setImmediate() {} +function clearImmediate() {} function setInterval() {} function clearInterval() {} function Date() {} @@ -22,6 +24,8 @@ function Date() {} // should be true. Hackish, I know, but it works. setTimeout = sinon.timers.setTimeout; clearTimeout = sinon.timers.clearTimeout; +setImmediate = sinon.timers.setImmediate; +clearImmediate = sinon.timers.clearImmediate; setInterval = sinon.timers.setInterval; clearInterval = sinon.timers.clearInterval; Date = sinon.timers.Date; |