assert.deepEqual(
[ {
topic: 'resourceloader.exception',
- error: 'Unknown dependency: test.load.unreg',
+ error: 'Unknown module: test.load.unreg',
source: 'resolve'
} ],
capture
assert.deepEqual(
[ {
topic: 'resourceloader.exception',
- error: 'Unknown dependency: test.load.missingdep2',
+ error: 'Unknown module: test.load.missingdep2',
source: 'resolve'
} ],
capture
QUnit.test( '.implement( package files )', function ( assert ) {
var done = assert.async(),
- initJsRan = false;
+ initJsRan = false,
+ counter = 41;
mw.loader.implement(
'test.implement.packageFiles',
{
files: {
'resources/src/foo/data/hello.json': { hello: 'world' },
'resources/src/foo/foo.js': function ( require, module ) {
- window.mwTestFooJsCounter = window.mwTestFooJsCounter || 41;
- window.mwTestFooJsCounter++;
- module.exports = { answer: window.mwTestFooJsCounter };
+ counter++;
+ module.exports = { answer: counter };
},
'resources/src/bar/bar.js': function ( require, module ) {
var core = require( './core.js' );
} );
} );
+ QUnit.test( 'No storing of group=private responses', function ( assert ) {
+ var name = 'test.group.priv';
+
+ // Enable store and stub timeout/idle scheduling
+ this.sandbox.stub( mw.loader.store, 'enabled', true );
+ this.sandbox.stub( window, 'setTimeout', function ( fn ) {
+ fn();
+ } );
+ this.sandbox.stub( mw, 'requestIdleCallback', function ( fn ) {
+ fn();
+ } );
+
+ mw.loader.register( name, 'x', [], 'private' );
+ assert.strictEqual( mw.loader.store.get( name ), false, 'Not in store' );
+
+ mw.loader.implement( name, function () {} );
+ return mw.loader.using( name ).then( function () {
+ assert.strictEqual( mw.loader.getState( name ), 'ready' );
+ assert.strictEqual( mw.loader.store.get( name ), false, 'Still not in store' );
+ } );
+ } );
+
+ QUnit.test( 'No storing of group=user responses', function ( assert ) {
+ var name = 'test.group.user';
+
+ // Enable store and stub timeout/idle scheduling
+ this.sandbox.stub( mw.loader.store, 'enabled', true );
+ this.sandbox.stub( window, 'setTimeout', function ( fn ) {
+ fn();
+ } );
+ this.sandbox.stub( mw, 'requestIdleCallback', function ( fn ) {
+ fn();
+ } );
+
+ mw.loader.register( name, 'y', [], 'user' );
+ assert.strictEqual( mw.loader.store.get( name ), false, 'Not in store' );
+
+ mw.loader.implement( name, function () {} );
+ return mw.loader.using( name ).then( function () {
+ assert.strictEqual( mw.loader.getState( name ), 'ready' );
+ assert.strictEqual( mw.loader.store.get( name ), false, 'Still not in store' );
+ } );
+ } );
+
QUnit.test( 'require()', function ( assert ) {
mw.loader.register( [
[ 'test.require1', '0' ],