| Current File : /home/jvzmxxx/wiki1/extensions/MobileFrontend/tests/qunit/mobile.startup/test_modules.js |
( function ( ModuleLoader ) {
QUnit.module( 'MobileFrontend ModuleLoader', {
setup: function () {
this.loader = new ModuleLoader();
}
} );
QUnit.test( '#require', 4, function ( assert ) {
this.loader.define( 'foo', 1 );
this.loader.define( 'bar', 5 );
assert.strictEqual( this.loader.require( 'foo' ), 1, 'Returns appropriate module' );
assert.strictEqual( this.loader.require( 'bar' ), 5, 'Returns appropriate module' );
assert.throws( function () {
this.loader.require( 'undefinedmodule' );
}, 'Cannot require an undefined module.' );
assert.throws( function () {
this.loader.require( 'mobile.modules/Foo' );
}, 'Cannot require an undefined export on a known module.' );
} );
QUnit.test( '#define', 2, function ( assert ) {
var loader = this.loader;
loader.define( 'foo', 1 );
loader.define( 'bar', 5 );
assert.throws( function () {
loader.define( 'bar', 50 );
}, 'Cannot define two modules with the same name' );
assert.strictEqual( this.loader.require( 'bar' ), 5, 'Returns first definition of module.' );
} );
}( mw.mobileFrontend.ModuleLoader ) );