From: Timo Tijhof Date: Sat, 24 Aug 2019 18:58:40 +0000 (+0100) Subject: resourceloader: Add tests for mw.loader not storing private/user response X-Git-Tag: 1.34.0-rc.0~599^2 X-Git-Url: http://git.cyclocoop.org/?a=commitdiff_plain;h=de07323b0116ab3d64f923301bc4eb07a8af6f27;p=lhc%2Fweb%2Fwiklou.git resourceloader: Add tests for mw.loader not storing private/user response This is in preparation for changing the way group indexes are transmitted between the server and client, to confirm that the behaviour doesn't break. Change-Id: I1f84c4c407a4eb69b5b9659d768c643d4a83df0d --- diff --git a/tests/qunit/suites/resources/mediawiki/mediawiki.loader.test.js b/tests/qunit/suites/resources/mediawiki/mediawiki.loader.test.js index ed1288b676..e1b8d55da8 100644 --- a/tests/qunit/suites/resources/mediawiki/mediawiki.loader.test.js +++ b/tests/qunit/suites/resources/mediawiki/mediawiki.loader.test.js @@ -1003,6 +1003,50 @@ } ); } ); + 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' ],