Build: Switch to explicit dependencies versions in bower.json

(cherry-picked from cd4e25e991)
This commit is contained in:
Michał Gołębiowski 2014-02-02 22:17:23 +01:00
parent 4c7250cf2f
commit 2f202b034f
3 changed files with 45 additions and 7 deletions

View File

@ -16,9 +16,9 @@
"sizzle": "1.10.16" "sizzle": "1.10.16"
}, },
"devDependencies": { "devDependencies": {
"requirejs": "~2.1.8", "requirejs": "2.1.10",
"qunit": "~1.12.0", "qunit": "1.12.0",
"sinon": "~1.7.3" "sinon": "1.8.1"
}, },
"keywords": [ "keywords": [
"jquery", "jquery",

View File

@ -31,6 +31,10 @@ if (typeof sinon == "undefined") {
throw new Error("Function requires at least 1 parameter"); 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 toId = id++;
var delay = args[1] || 0; var delay = args[1] || 0;
@ -132,6 +136,16 @@ if (typeof sinon == "undefined") {
this.clearTimeout(timerId); 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) { tick: function tick(ms) {
ms = typeof ms == "number" ? ms : parseTime(ms); ms = typeof ms == "number" ? ms : parseTime(ms);
var tickFrom = this.now, tickTo = this.now + ms, previous = this.now; var tickFrom = this.now, tickTo = this.now + ms, previous = this.now;
@ -162,7 +176,7 @@ if (typeof sinon == "undefined") {
}, },
firstTimerInRange: function (from, to) { firstTimerInRange: function (from, to) {
var timer, smallest, originalTimer; var timer, smallest = null, originalTimer;
for (var id in this.timeouts) { for (var id in this.timeouts) {
if (this.timeouts.hasOwnProperty(id)) { if (this.timeouts.hasOwnProperty(id)) {
@ -170,7 +184,7 @@ if (typeof sinon == "undefined") {
continue; continue;
} }
if (!smallest || this.timeouts[id].callAt < smallest) { if (smallest === null || this.timeouts[id].callAt < smallest) {
originalTimer = this.timeouts[id]; originalTimer = this.timeouts[id];
smallest = this.timeouts[id].callAt; smallest = this.timeouts[id].callAt;
@ -276,21 +290,39 @@ if (typeof sinon == "undefined") {
target.parse = source.parse; target.parse = source.parse;
target.UTC = source.UTC; target.UTC = source.UTC;
target.prototype.toUTCString = source.prototype.toUTCString; target.prototype.toUTCString = source.prototype.toUTCString;
for (var prop in source) {
if (source.hasOwnProperty(prop)) {
target[prop] = source[prop];
}
}
return target; return target;
} }
var methods = ["Date", "setTimeout", "setInterval", var methods = ["Date", "setTimeout", "setInterval",
"clearTimeout", "clearInterval"]; "clearTimeout", "clearInterval"];
if (typeof global.setImmediate !== "undefined") {
methods.push("setImmediate");
}
if (typeof global.clearImmediate !== "undefined") {
methods.push("clearImmediate");
}
function restore() { function restore() {
var method; var method;
for (var i = 0, l = this.methods.length; i < l; i++) { for (var i = 0, l = this.methods.length; i < l; i++) {
method = this.methods[i]; method = this.methods[i];
if (global[method].hadOwnProperty) { if (global[method].hadOwnProperty) {
global[method] = this["_" + method]; global[method] = this["_" + method];
} else { } else {
delete global[method]; try {
delete global[method];
} catch (e) {}
} }
} }
@ -341,11 +373,13 @@ if (typeof sinon == "undefined") {
sinon.timers = { sinon.timers = {
setTimeout: setTimeout, setTimeout: setTimeout,
clearTimeout: clearTimeout, clearTimeout: clearTimeout,
setImmediate: (typeof setImmediate !== "undefined" ? setImmediate : undefined),
clearImmediate: (typeof clearImmediate !== "undefined" ? clearImmediate: undefined),
setInterval: setInterval, setInterval: setInterval,
clearInterval: clearInterval, clearInterval: clearInterval,
Date: Date Date: Date
}; };
if (typeof module == "object" && typeof require == "function") { if (typeof module !== 'undefined' && module.exports) {
module.exports = sinon; module.exports = sinon;
} }

View File

@ -14,6 +14,8 @@
*/ */
function setTimeout() {} function setTimeout() {}
function clearTimeout() {} function clearTimeout() {}
function setImmediate() {}
function clearImmediate() {}
function setInterval() {} function setInterval() {}
function clearInterval() {} function clearInterval() {}
function Date() {} function Date() {}
@ -22,6 +24,8 @@ function Date() {}
// should be true. Hackish, I know, but it works. // should be true. Hackish, I know, but it works.
setTimeout = sinon.timers.setTimeout; setTimeout = sinon.timers.setTimeout;
clearTimeout = sinon.timers.clearTimeout; clearTimeout = sinon.timers.clearTimeout;
setImmediate = sinon.timers.setImmediate;
clearImmediate = sinon.timers.clearImmediate;
setInterval = sinon.timers.setInterval; setInterval = sinon.timers.setInterval;
clearInterval = sinon.timers.clearInterval; clearInterval = sinon.timers.clearInterval;
Date = sinon.timers.Date; Date = sinon.timers.Date;