From ca32f08966f1b51fcb19460f0996bb0c4048e6fe Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Sat, 3 Dec 2011 13:29:22 +0100 Subject: Update to MediaWiki 1.18.0 * also update ArchLinux skin to chagnes in MonoBook * Use only css to hide our menu bar when printing --- tests/qunit/data/testrunner.js | 92 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 tests/qunit/data/testrunner.js (limited to 'tests/qunit/data/testrunner.js') diff --git a/tests/qunit/data/testrunner.js b/tests/qunit/data/testrunner.js new file mode 100644 index 00000000..dbfe9fad --- /dev/null +++ b/tests/qunit/data/testrunner.js @@ -0,0 +1,92 @@ +( function( $ ) { + +/** + * Add bogus to url to prevent IE crazy caching + * + * @param value {String} a relative path (eg. 'data/defineTestCallback.js' or 'data/test.php?foo=bar') + * @return {String} Such as 'data/defineTestCallback.js?131031765087663960' + */ +QUnit.fixurl = function(value) { + return value + (/\?/.test(value) ? "&" : "?") + new Date().getTime() + "" + parseInt(Math.random()*100000); +}; + +/** + * Load TestSwarm agent + */ +if ( QUnit.urlParams.swarmURL ) { + document.write(""); +} + +/** + * Load completenesstest + */ +if ( QUnit.urlParams.completenesstest ) { + + // Return true to ignore + var mwTestIgnore = function( val, tester, funcPath ) { + + // Don't record methods of the properties of constructors, + // to avoid getting into a loop (prototype.constructor.prototype..). + // Since we're therefor skipping any injection for + // "new mw.Foo()", manually set it to true here. + if ( val instanceof mw.Map ) { + tester.methodCallTracker['Map'] = true; + return true; + } + + // Don't record methods of the properties of a jQuery object + if ( val instanceof $ ) { + return true; + } + + return false; + }; + + var mwTester = new CompletenessTest( mw, mwTestIgnore ); +} + +/** + * Add-on assertion helpers + */ +// Define the add-ons +var addons = { + + // Expect boolean true + assertTrue: function( actual, message ) { + strictEqual( actual, true, message ); + }, + + // Expect boolean false + assertFalse: function( actual, message ) { + strictEqual( actual, false, message ); + }, + + // Expect numerical value less than X + lt: function( actual, expected, message ) { + QUnit.push( actual < expected, actual, 'less than ' + expected, message ); + }, + + // Expect numerical value less than or equal to X + ltOrEq: function( actual, expected, message ) { + QUnit.push( actual <= expected, actual, 'less than or equal to ' + expected, message ); + }, + + // Expect numerical value greater than X + gt: function( actual, expected, message ) { + QUnit.push( actual > expected, actual, 'greater than ' + expected, message ); + }, + + // Expect numerical value greater than or equal to X + gtOrEq: function( actual, expected, message ) { + QUnit.push( actual >= expected, actual, 'greater than or equal to ' + expected, message ); + }, + + // Backwards compatible with new verions of QUnit + equals: window.equal, + same: window.deepEqual +}; + +$.extend( QUnit, addons ); +$.extend( window, addons ); + +})( jQuery ); -- cgit v1.2.3-54-g00ecf