Page MenuHomeWickedGov Phorge

editorLoadingOverlay.test.js
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

editorLoadingOverlay.test.js

const
sinon = require( 'sinon' ),
dom = require( '../utils/dom' ),
jQuery = require( '../utils/jQuery' ),
oo = require( '../utils/oo' ),
mediaWiki = require( '../utils/mw' ),
mustache = require( '../utils/mustache' );
let
editorLoadingOverlay, OverlayManager,
sandbox, fakeRouter, overlayManager;
QUnit.module( 'MobileFrontend editorLoadingOverlay.js', {
beforeEach: function () {
sandbox = sinon.sandbox.create();
dom.setUp( sandbox, global );
jQuery.setUp( sandbox, global );
oo.setUp( sandbox, global );
mediaWiki.setUp( sandbox, global );
mustache.setUp( sandbox, global );
// jsdom will throw "Not implemented" errors if we don't stub
// window.scrollTo
sandbox.stub( global.window, 'scrollTo' );
// These must be loaded here and not earlier because they depend on the globals we fake
editorLoadingOverlay = require( '../../../src/mobile.init/editorLoadingOverlay' );
OverlayManager = require( '../../../src/mobile.startup/OverlayManager' );
fakeRouter = new OO.EventEmitter();
fakeRouter.getPath = sandbox.stub().returns( '' );
fakeRouter.back = sandbox.spy();
sandbox.stub( mw.loader, 'require' ).withArgs( 'mediawiki.router' ).returns( fakeRouter );
overlayManager = new OverlayManager( fakeRouter, document.body );
},
afterEach: function () {
jQuery.tearDown();
sandbox.restore();
}
} );
QUnit.test( 'editorLoadingOverlay calls the callbacks', function ( assert ) {
const
afterShow = sandbox.spy(),
afterHide = sandbox.spy(),
overlay = editorLoadingOverlay( afterShow, afterHide );
overlayManager.add( /^test$/, function () {
return overlay;
} );
fakeRouter.emit( 'route', {
path: 'test'
} );
assert.strictEqual( afterShow.callCount, 1, 'afterShow called' );
assert.strictEqual( afterHide.callCount, 0, 'afterHide not called yet' );
fakeRouter.emit( 'route', {
path: ''
} );
assert.strictEqual( afterShow.callCount, 1, 'afterShow called only once' );
assert.strictEqual( afterHide.callCount, 1, 'afterHide called' );
} );

File Metadata

Mime Type
text/plain
Expires
Tue, Aug 18, 18:36 (3 w, 18 h ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
10/30/24ddb676cad062ce7fc0cd137bb2
Default Alt Text
editorLoadingOverlay.test.js (1 KB)

Event Timeline