aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichał Gołębiowski <m.goleb@gmail.com>2014-02-02 22:17:23 +0100
committerMichał Gołębiowski <m.goleb@gmail.com>2014-02-02 22:20:00 +0100
commit2f202b034fe53a32bd43fdfa75d69a69753f9598 (patch)
tree712a8612d24ac876156994f992e2b1e2e37a560b
parent4c7250cf2fc3aa32f5f2aa0714e9f08eb4bc546c (diff)
downloadjquery-2f202b034fe53a32bd43fdfa75d69a69753f9598.tar.gz
jquery-2f202b034fe53a32bd43fdfa75d69a69753f9598.zip
Build: Switch to explicit dependencies versions in bower.json
(cherry-picked from cd4e25e991898bf07ce82fe4ab3d60c32b4a5fc9)
-rw-r--r--bower.json6
-rw-r--r--test/libs/sinon/fake_timers.js42
-rw-r--r--test/libs/sinon/timers_ie.js4
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;