aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorOleg Gaidarenko <markelog@gmail.com>2014-02-18 20:13:48 +0400
committerOleg Gaidarenko <markelog@gmail.com>2014-04-15 17:45:58 +0400
commit8e5d1caf7ad8f02d727bdd5ef9dfed9ff463c8ea (patch)
tree18f50d2bbd9ddee11cbbfa4526f8e1b6bc8a141e /test
parent92cff8b1a38fc45f1a6f6ddb92d089b739e7f5f5 (diff)
downloadjquery-8e5d1caf7ad8f02d727bdd5ef9dfed9ff463c8ea.tar.gz
jquery-8e5d1caf7ad8f02d727bdd5ef9dfed9ff463c8ea.zip
Tests: More improvments for testrunner
Conform to style guide and simplify it
Diffstat (limited to 'test')
-rw-r--r--test/data/testinit.js37
-rw-r--r--test/data/testrunner.js58
2 files changed, 36 insertions, 59 deletions
diff --git a/test/data/testinit.js b/test/data/testinit.js
index 06f33d19b..2751f65cc 100644
--- a/test/data/testinit.js
+++ b/test/data/testinit.js
@@ -16,7 +16,7 @@ original$ = this.$ = "replaced";
/**
* Returns an array of elements with the given IDs
- * @example q("main", "foo", "bar")
+ * @example q( "main", "foo", "bar" )
* @result [<div id="main">, <span id="foo">, <input id="bar">]
*/
this.q = function() {
@@ -38,7 +38,7 @@ this.q = function() {
* @result returns true if "//[a]" return two elements with the IDs 'foo' and 'baar'
*/
this.t = function( a, b, c ) {
- var f = jQuery(b).get(),
+ var f = jQuery( b ).get(),
s = "",
i = 0;
@@ -46,7 +46,7 @@ this.t = function( a, b, c ) {
s += ( s && "," ) + '"' + f[ i ].id + '"';
}
- deepEqual(f, q.apply( q, c ), a + " (" + b + ")");
+ deepEqual( f, q.apply( q, c ), a + " (" + b + ")" );
};
this.createDashboardXML = function() {
@@ -98,13 +98,13 @@ this.createWithFriesXML = function() {
this.createXMLFragment = function() {
var xml, frag;
if ( window.ActiveXObject ) {
- xml = new ActiveXObject("msxml2.domdocument");
+ xml = new ActiveXObject( "msxml2.domdocument" );
} else {
xml = document.implementation.createDocument( "", "", null );
}
if ( xml ) {
- frag = xml.createElement("data");
+ frag = xml.createElement( "data" );
}
return frag;
@@ -112,13 +112,13 @@ this.createXMLFragment = function() {
fireNative = document.createEvent ?
function( node, type ) {
- var event = document.createEvent('HTMLEvents');
+ var event = document.createEvent( "HTMLEvents" );
+
event.initEvent( type, true, true );
node.dispatchEvent( event );
} :
function( node, type ) {
- var event = document.createEventObject();
- node.fireEvent( 'on' + type, event );
+ node.fireEvent( "on" + type, document.createEventObject() );
};
/**
@@ -233,31 +233,28 @@ this.testIframe = function( fileName, name, fn ) {
};
this.testIframeWithCallback = function( title, fileName, func ) {
-
- test( title, function() {
+ asyncTest( title, 1, function() {
var iframe;
- // Expect one assertion, but allow overrides
- expect( 1 );
-
- stop();
window.iframeCallback = function() {
- var self = this,
- args = arguments;
+ var args = arguments;
+
setTimeout(function() {
- window.iframeCallback = undefined;
+ this.iframeCallback = undefined;
+
iframe.remove();
- func.apply( self, args );
+ func.apply( this, args );
func = function() {};
+
start();
- }, 0 );
+ });
};
iframe = jQuery( "<div/>" ).css({ position: "absolute", width: "500px", left: "-600px" })
.append( jQuery( "<iframe/>" ).attr( "src", url( "./data/" + fileName ) ) )
.appendTo( "#qunit-fixture" );
});
};
-window.iframeCallback = undefined;
+this.iframeCallback = undefined;
// Tests are always loaded async
QUnit.config.autostart = false;
diff --git a/test/data/testrunner.js b/test/data/testrunner.js
index 2b15dd2e0..ea7cf7d7a 100644
--- a/test/data/testrunner.js
+++ b/test/data/testrunner.js
@@ -1,19 +1,14 @@
-define(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,
- // instead of asserting every time a test has leaked sometime in the past
- oldCacheLength = 0,
+(function() {
+
+// 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
+var oldCacheLength = 0,
oldActive = 0,
expectedDataKeys = {},
- reset,
splice = [].splice,
ajaxSettings = jQuery.ajaxSettings;
-
/**
* QUnit configuration
*/
@@ -45,7 +40,7 @@ QUnit.expectJqData = function( elems, key ) {
}
for ( i = 0; i < elems.length; i++ ) {
- elem = elems[i];
+ elem = elems[ i ];
// jQuery.data only stores data for nodes in jQuery.cache,
// for other data targets the data is stored in the object itself,
@@ -69,10 +64,10 @@ QUnit.expectJqData = function( elems, key ) {
// (instead of in teardown).
notStrictEqual( expando, undefined, "Target for expectJqData must have an expando, for else there can be no data to expect." );
} else {
- if ( expectedDataKeys[expando] ) {
- expectedDataKeys[expando].push( key );
+ if ( expectedDataKeys[ expando ] ) {
+ expectedDataKeys[ expando ].push( key );
} else {
- expectedDataKeys[expando] = [ key ];
+ expectedDataKeys[ expando ] = [ key ];
}
}
}
@@ -90,26 +85,25 @@ QUnit.config.urlConfig.push({
* teardown function on all modules' lifecycle object.
*/
window.moduleTeardown = function() {
- var i,
- expectedKeys, actualKeys,
+ var i, expectedKeys, actualKeys,
cacheLength = 0;
// Only look for jQuery data problems if this test actually
// provided some information to compare against.
if ( QUnit.urlParams.jqdata || this.checkJqData ) {
for ( i in jQuery.cache ) {
- expectedKeys = expectedDataKeys[i];
- actualKeys = jQuery.cache[i] ? Object.keys( jQuery.cache[i] ) : jQuery.cache[i];
+ expectedKeys = expectedDataKeys[ i ];
+ actualKeys = jQuery.cache[ i ] ? Object.keys( jQuery.cache[ i ] ) : jQuery.cache[ i ];
if ( !QUnit.equiv( expectedKeys, actualKeys ) ) {
deepEqual( actualKeys, expectedKeys, "Expected keys exist in jQuery.cache" );
}
- delete jQuery.cache[i];
- delete expectedDataKeys[i];
+ delete jQuery.cache[ i ];
+ delete expectedDataKeys[ i ];
}
// In case it was removed from cache before (or never there in the first place)
for ( i in expectedDataKeys ) {
- deepEqual( expectedDataKeys[i], undefined, "No unexpected keys were left in jQuery.cache (#" + i + ")" );
- delete expectedDataKeys[i];
+ deepEqual( expectedDataKeys[ i ], undefined, "No unexpected keys were left in jQuery.cache (#" + i + ")" );
+ delete expectedDataKeys[ i ];
}
}
@@ -143,18 +137,7 @@ window.moduleTeardown = function() {
}
};
-QUnit.done(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();
+QUnit.testDone(function() {
// Reset internal jQuery state
jQuery.event.global = {};
@@ -166,10 +149,7 @@ reset = function () {
// Cleanup globals
Globals.cleanup();
- jQuery("#qunit-fixture")[0].innerHTML = QUnit.config.fixture;
-};
-
-QUnit.testDone(reset);
+});
// Register globals for cleanup and the cleanup code itself
window.Globals = (function() {
@@ -192,4 +172,4 @@ window.Globals = (function() {
};
})();
-});
+})();