mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Tests: More improvments for testrunner
Conform to style guide and simplify it
This commit is contained in:
parent
92cff8b1a3
commit
8e5d1caf7a
@ -112,13 +112,13 @@ this.createXMLFragment = function() {
|
|||||||
|
|
||||||
fireNative = document.createEvent ?
|
fireNative = document.createEvent ?
|
||||||
function( node, type ) {
|
function( node, type ) {
|
||||||
var event = document.createEvent('HTMLEvents');
|
var event = document.createEvent( "HTMLEvents" );
|
||||||
|
|
||||||
event.initEvent( type, true, true );
|
event.initEvent( type, true, true );
|
||||||
node.dispatchEvent( event );
|
node.dispatchEvent( event );
|
||||||
} :
|
} :
|
||||||
function( node, type ) {
|
function( node, type ) {
|
||||||
var event = document.createEventObject();
|
node.fireEvent( "on" + type, document.createEventObject() );
|
||||||
node.fireEvent( 'on' + type, event );
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -233,31 +233,28 @@ this.testIframe = function( fileName, name, fn ) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
this.testIframeWithCallback = function( title, fileName, func ) {
|
this.testIframeWithCallback = function( title, fileName, func ) {
|
||||||
|
asyncTest( title, 1, function() {
|
||||||
test( title, function() {
|
|
||||||
var iframe;
|
var iframe;
|
||||||
|
|
||||||
// Expect one assertion, but allow overrides
|
|
||||||
expect( 1 );
|
|
||||||
|
|
||||||
stop();
|
|
||||||
window.iframeCallback = function() {
|
window.iframeCallback = function() {
|
||||||
var self = this,
|
var args = arguments;
|
||||||
args = arguments;
|
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
window.iframeCallback = undefined;
|
this.iframeCallback = undefined;
|
||||||
|
|
||||||
iframe.remove();
|
iframe.remove();
|
||||||
func.apply( self, args );
|
func.apply( this, args );
|
||||||
func = function() {};
|
func = function() {};
|
||||||
|
|
||||||
start();
|
start();
|
||||||
}, 0 );
|
});
|
||||||
};
|
};
|
||||||
iframe = jQuery( "<div/>" ).css({ position: "absolute", width: "500px", left: "-600px" })
|
iframe = jQuery( "<div/>" ).css({ position: "absolute", width: "500px", left: "-600px" })
|
||||||
.append( jQuery( "<iframe/>" ).attr( "src", url( "./data/" + fileName ) ) )
|
.append( jQuery( "<iframe/>" ).attr( "src", url( "./data/" + fileName ) ) )
|
||||||
.appendTo( "#qunit-fixture" );
|
.appendTo( "#qunit-fixture" );
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
window.iframeCallback = undefined;
|
this.iframeCallback = undefined;
|
||||||
|
|
||||||
// Tests are always loaded async
|
// Tests are always loaded async
|
||||||
QUnit.config.autostart = false;
|
QUnit.config.autostart = false;
|
||||||
|
@ -1,19 +1,14 @@
|
|||||||
define(function() {
|
(function() {
|
||||||
|
|
||||||
// Allow subprojects to test against their own fixtures
|
|
||||||
var qunitModule = QUnit.module,
|
|
||||||
qunitTest = QUnit.test,
|
|
||||||
// Store the old counts so that we only assert on tests that have actually leaked,
|
// Store the old counts so that we only assert on tests that have actually leaked,
|
||||||
// instead of asserting every time a test has leaked sometime in the past
|
// instead of asserting every time a test has leaked sometime in the past
|
||||||
oldCacheLength = 0,
|
var oldCacheLength = 0,
|
||||||
oldActive = 0,
|
oldActive = 0,
|
||||||
|
|
||||||
expectedDataKeys = {},
|
expectedDataKeys = {},
|
||||||
reset,
|
|
||||||
splice = [].splice,
|
splice = [].splice,
|
||||||
ajaxSettings = jQuery.ajaxSettings;
|
ajaxSettings = jQuery.ajaxSettings;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* QUnit configuration
|
* QUnit configuration
|
||||||
*/
|
*/
|
||||||
@ -90,8 +85,7 @@ QUnit.config.urlConfig.push({
|
|||||||
* teardown function on all modules' lifecycle object.
|
* teardown function on all modules' lifecycle object.
|
||||||
*/
|
*/
|
||||||
window.moduleTeardown = function() {
|
window.moduleTeardown = function() {
|
||||||
var i,
|
var i, expectedKeys, actualKeys,
|
||||||
expectedKeys, actualKeys,
|
|
||||||
cacheLength = 0;
|
cacheLength = 0;
|
||||||
|
|
||||||
// Only look for jQuery data problems if this test actually
|
// Only look for jQuery data problems if this test actually
|
||||||
@ -143,18 +137,7 @@ window.moduleTeardown = function() {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
QUnit.done(function() {
|
QUnit.testDone(function() {
|
||||||
// Remove our own fixtures outside #qunit-fixture
|
|
||||||
supportjQuery("#qunit ~ *").remove();
|
|
||||||
});
|
|
||||||
|
|
||||||
// jQuery-specific post-test cleanup
|
|
||||||
reset = function () {
|
|
||||||
|
|
||||||
// Ensure jQuery events and data on the fixture are properly removed
|
|
||||||
jQuery("#qunit-fixture").empty();
|
|
||||||
// ...even if the jQuery under test has a broken .empty()
|
|
||||||
supportjQuery("#qunit-fixture").empty();
|
|
||||||
|
|
||||||
// Reset internal jQuery state
|
// Reset internal jQuery state
|
||||||
jQuery.event.global = {};
|
jQuery.event.global = {};
|
||||||
@ -166,10 +149,7 @@ reset = function () {
|
|||||||
|
|
||||||
// Cleanup globals
|
// Cleanup globals
|
||||||
Globals.cleanup();
|
Globals.cleanup();
|
||||||
jQuery("#qunit-fixture")[0].innerHTML = QUnit.config.fixture;
|
});
|
||||||
};
|
|
||||||
|
|
||||||
QUnit.testDone(reset);
|
|
||||||
|
|
||||||
// Register globals for cleanup and the cleanup code itself
|
// Register globals for cleanup and the cleanup code itself
|
||||||
window.Globals = (function() {
|
window.Globals = (function() {
|
||||||
@ -192,4 +172,4 @@ window.Globals = (function() {
|
|||||||
};
|
};
|
||||||
})();
|
})();
|
||||||
|
|
||||||
});
|
})();
|
||||||
|
Loading…
Reference in New Issue
Block a user