mw.loader: Avoid use of deprecated QUnit.asyncTest/QUnit.start
Deprecated since QUnit 1.16, removed in QUnit 2.0. (We're on 1.23 currently.) Migrate to assert.async(). This is a fairly atypical use of QUnit.start(), because it functions here as a cross-script callback, where lexical scope cannot be used to share the async() callback directly. Other mw.loader tests already solved this by using a static callback instead which inherits the lexical scope from the test to call done(). The old 'qunitOkCall' script is no longer used after this and thus removed. Change-Id: I430df14b35a69c71df8685494d1379e22af0d6df
This commit is contained in:
parent
dcae3733c9
commit
6418c54c4a
3 changed files with 30 additions and 26 deletions
|
|
@ -1,2 +0,0 @@
|
|||
QUnit.start();
|
||||
QUnit.assert.ok( true, 'Successfully loaded!' );
|
||||
|
|
@ -90,7 +90,7 @@
|
|||
isAwesomeDone = true;
|
||||
};
|
||||
|
||||
mw.loader.implement( 'test.callback', [ QUnit.fixurl( mw.config.get( 'wgScriptPath' ) + '/tests/qunit/data/callMwLoaderTestCallback.js' ) ] );
|
||||
mw.loader.implement( 'test.callback', [ QUnit.fixurl( mw.config.get( 'wgScriptPath' ) + '/tests/qunit/data/mwLoaderTestCallback.js' ) ] );
|
||||
|
||||
return mw.loader.using( 'test.callback', function () {
|
||||
assert.strictEqual( isAwesomeDone, true, 'test.callback module should\'ve caused isAwesomeDone to be true' );
|
||||
|
|
@ -109,7 +109,7 @@
|
|||
isAwesomeDone = true;
|
||||
};
|
||||
|
||||
mw.loader.implement( 'hasOwnProperty', [ QUnit.fixurl( mw.config.get( 'wgScriptPath' ) + '/tests/qunit/data/callMwLoaderTestCallback.js' ) ], {}, {} );
|
||||
mw.loader.implement( 'hasOwnProperty', [ QUnit.fixurl( mw.config.get( 'wgScriptPath' ) + '/tests/qunit/data/mwLoaderTestCallback.js' ) ], {}, {} );
|
||||
|
||||
return mw.loader.using( 'hasOwnProperty', function () {
|
||||
assert.strictEqual( isAwesomeDone, true, 'hasOwnProperty module should\'ve caused isAwesomeDone to be true' );
|
||||
|
|
@ -128,7 +128,7 @@
|
|||
isAwesomeDone = true;
|
||||
};
|
||||
|
||||
mw.loader.implement( 'test.promise', [ QUnit.fixurl( mw.config.get( 'wgScriptPath' ) + '/tests/qunit/data/callMwLoaderTestCallback.js' ) ] );
|
||||
mw.loader.implement( 'test.promise', [ QUnit.fixurl( mw.config.get( 'wgScriptPath' ) + '/tests/qunit/data/mwLoaderTestCallback.js' ) ] );
|
||||
|
||||
return mw.loader.using( 'test.promise' )
|
||||
.done( function () {
|
||||
|
|
@ -680,38 +680,44 @@
|
|||
);
|
||||
} );
|
||||
|
||||
QUnit.asyncTest( '.load( "//protocol-relative" ) - T32825', function ( assert ) {
|
||||
// This bug was actually already fixed in 1.18 and later when discovered in 1.17.
|
||||
// Test is for regressions!
|
||||
// This bug was actually already fixed in 1.18 and later when discovered in 1.17.
|
||||
QUnit.test( '.load( "//protocol-relative" ) - T32825', function ( assert ) {
|
||||
var target,
|
||||
done = assert.async();
|
||||
|
||||
// Forge a URL to the test callback script
|
||||
var target = QUnit.fixurl(
|
||||
mw.config.get( 'wgServer' ) + mw.config.get( 'wgScriptPath' ) + '/tests/qunit/data/qunitOkCall.js'
|
||||
// URL to the callback script
|
||||
target = QUnit.fixurl(
|
||||
mw.config.get( 'wgServer' ) + mw.config.get( 'wgScriptPath' ) + '/tests/qunit/data/mwLoaderTestCallback.js'
|
||||
);
|
||||
|
||||
// Confirm that mw.loader.load() works with protocol-relative URLs
|
||||
// Ensure a protocol-relative URL for this test
|
||||
target = target.replace( /https?:/, '' );
|
||||
assert.equal( target.slice( 0, 2 ), '//', 'URL is protocol-relative' );
|
||||
|
||||
assert.equal( target.slice( 0, 2 ), '//',
|
||||
'URL must be relative to test relative URLs!'
|
||||
);
|
||||
mw.loader.testCallback = function () {
|
||||
delete mw.loader.testCallback;
|
||||
assert.ok( true, 'callback' );
|
||||
done();
|
||||
};
|
||||
|
||||
// Async!
|
||||
// The target calls QUnit.start
|
||||
// Go!
|
||||
mw.loader.load( target );
|
||||
} );
|
||||
|
||||
QUnit.asyncTest( '.load( "/absolute-path" )', function ( assert ) {
|
||||
// Forge a URL to the test callback script
|
||||
var target = QUnit.fixurl(
|
||||
mw.config.get( 'wgScriptPath' ) + '/tests/qunit/data/qunitOkCall.js'
|
||||
);
|
||||
QUnit.test( '.load( "/absolute-path" )', function ( assert ) {
|
||||
var target,
|
||||
done = assert.async();
|
||||
|
||||
// Confirm that mw.loader.load() works with absolute-paths (relative to current hostname)
|
||||
// URL to the callback script
|
||||
target = QUnit.fixurl( mw.config.get( 'wgScriptPath' ) + '/tests/qunit/data/mwLoaderTestCallback.js' );
|
||||
assert.equal( target.slice( 0, 1 ), '/', 'URL is relative to document root' );
|
||||
|
||||
// Async!
|
||||
// The target calls QUnit.start
|
||||
mw.loader.testCallback = function () {
|
||||
delete mw.loader.testCallback;
|
||||
assert.ok( true, 'callback' );
|
||||
done();
|
||||
};
|
||||
|
||||
// Go!
|
||||
mw.loader.load( target );
|
||||
} );
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue