mediawiki-extensions-Multim.../tests/qunit/mmv/mmv.testhelpers.js
Ed Sanders b46529d1b2 build: Introduce jshint & jscs and make a pass
These replace the hard-coded jshint task in CI.

Change-Id: Id14eec1ecba4ceae735ffd10f9114233a580302f
2016-07-19 13:48:06 -07:00

65 lines
1.6 KiB
JavaScript

( function ( mw, $ ) {
var MTH = {};
MTH.enterFullscreenMock = function () {
this.first().addClass( 'jq-fullscreened' ).data( 'isFullscreened', true );
$( document ).trigger( $.Event( 'jq-fullscreen-change', { element: this, fullscreen: true } ) );
};
MTH.exitFullscreenMock = function () {
this.first().removeClass( 'jq-fullscreened' ).data( 'isFullscreened', false );
$( document ).trigger( $.Event( 'jq-fullscreen-change', { element: this, fullscreen: false } ) );
};
/**
* Returns the exception thrown by callback, or undefined if no exception was thrown.
*
* @param {Function} callback
* @return {*}
*/
MTH.getException = function ( callback ) {
var ex;
try {
callback();
} catch ( e ) {
ex = e;
}
return ex;
};
/**
* Returns a fake local storage which is not saved between reloads.
*
* @param {Object} [initialData]
*/
MTH.getFakeLocalStorage = function ( initialData ) {
var bag = new mw.Map( initialData );
return {
getItem: function ( key ) { return bag.get( key ); },
setItem: function ( key, value ) { bag.set( key, value ); },
removeItem: function ( key ) { bag.set( key, null ); }
};
};
/**
* Returns a viewer object with all the appropriate placeholder functions.
*
* @return {mv.mmv.MultiMediaViewer} [description]
*/
MTH.getMultimediaViewer = function () {
return new mw.mmv.MultimediaViewer( {
imageQueryParameter: $.noop,
language: $.noop,
recordVirtualViewBeaconURI: $.noop,
extensions: function () {
return { jpg: 'default' };
}
} );
};
mw.mmv.testHelpers = MTH;
} )( mediaWiki, jQuery );