mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Tests: Fix sinon timers for oldIE
This commit is contained in:
parent
c991edd2e2
commit
f1af3c23f9
@ -60,7 +60,8 @@ module.exports = function( grunt ) {
|
||||
files: {
|
||||
"qunit": "qunit/qunit",
|
||||
"require.js": "requirejs/require.js",
|
||||
"sinon/fake_timers.js": "sinon/lib/sinon/util/fake_timers.js"
|
||||
"sinon/fake_timers.js": "sinon/lib/sinon/util/fake_timers.js",
|
||||
"sinon/timers_ie.js": "sinon/lib/sinon/util/timers_ie.js"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -17,6 +17,7 @@
|
||||
<script src="libs/qunit/qunit.js"></script>
|
||||
<script src="libs/require.js"></script>
|
||||
<script src="libs/sinon/fake_timers.js"></script>
|
||||
<script src="libs/sinon/timers_ie.js"></script>
|
||||
<!-- See testinit for the list of tests -->
|
||||
<script src="data/testinit.js"></script>
|
||||
|
||||
|
27
test/libs/sinon/timers_ie.js
Normal file
27
test/libs/sinon/timers_ie.js
Normal file
@ -0,0 +1,27 @@
|
||||
/*global sinon, setTimeout, setInterval, clearTimeout, clearInterval, Date*/
|
||||
/**
|
||||
* Helps IE run the fake timers. By defining global functions, IE allows
|
||||
* them to be overwritten at a later point. If these are not defined like
|
||||
* this, overwriting them will result in anything from an exception to browser
|
||||
* crash.
|
||||
*
|
||||
* If you don't require fake timers to work in IE, don't include this file.
|
||||
*
|
||||
* @author Christian Johansen (christian@cjohansen.no)
|
||||
* @license BSD
|
||||
*
|
||||
* Copyright (c) 2010-2013 Christian Johansen
|
||||
*/
|
||||
function setTimeout() {}
|
||||
function clearTimeout() {}
|
||||
function setInterval() {}
|
||||
function clearInterval() {}
|
||||
function Date() {}
|
||||
|
||||
// Reassign the original functions. Now their writable attribute
|
||||
// should be true. Hackish, I know, but it works.
|
||||
setTimeout = sinon.timers.setTimeout;
|
||||
clearTimeout = sinon.timers.clearTimeout;
|
||||
setInterval = sinon.timers.setInterval;
|
||||
clearInterval = sinon.timers.clearInterval;
|
||||
Date = sinon.timers.Date;
|
9
test/unit/effects.js
vendored
9
test/unit/effects.js
vendored
@ -5,18 +5,21 @@ if ( !jQuery.fx ) {
|
||||
return;
|
||||
}
|
||||
|
||||
var off = jQuery.fx.off;
|
||||
var off = jQuery.fx.off,
|
||||
oldNow = jQuery.now;
|
||||
|
||||
module("effects", {
|
||||
setup: function() {
|
||||
this.clock = sinon.useFakeTimers( 505877050 );
|
||||
this._oldInterval = jQuery.fx.interval;
|
||||
jQuery.fx.interval = 10;
|
||||
jQuery.now = Date.now;
|
||||
jQuery.now = function() {
|
||||
return +( new Date() );
|
||||
};
|
||||
},
|
||||
teardown: function() {
|
||||
this.clock.restore();
|
||||
jQuery.now = Date.now;
|
||||
jQuery.now = oldNow;
|
||||
jQuery.fx.stop();
|
||||
jQuery.fx.interval = this._oldInterval;
|
||||
jQuery.fx.off = off;
|
||||
|
Loading…
Reference in New Issue
Block a user