mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Popups
synced 2024-11-18 21:05:57 +00:00
2fa5b9ef02
This reverts commit 047bccfac1
.
It created merge conflicts with a bunch of patches that were days old and about to be merged. Instead of rebasing 10 patches, let's revert this one, finish merging the other ones and just rebase and fix this one. I'll re-introduce the patch in a bit.
Change-Id: Ib495755b0ab4bfa5fdf5590b1271792862a47d4b
84 lines
2.3 KiB
JavaScript
84 lines
2.3 KiB
JavaScript
// render, renderOption, and addFooterLink are already covered in the browser tests
|
|
|
|
( function ( $, mw ) {
|
|
QUnit.module( 'ext.popups.settings' );
|
|
|
|
QUnit.test( 'save', function ( assert ) {
|
|
var jQueryInit = this.sandbox.stub( jQuery.fn, 'init' ),
|
|
radioButtonValue;
|
|
|
|
QUnit.expect( 2 );
|
|
|
|
this.sandbox.stub( mw.popups.settings, 'reloadPage' );
|
|
this.sandbox.stub( mw.popups.settings, 'close' );
|
|
jQueryInit.withArgs( 'input[name=mwe-popups-setting]:checked', '#mwe-popups-settings' )
|
|
.returns( {
|
|
val: function () {
|
|
return radioButtonValue;
|
|
}
|
|
} );
|
|
jQueryInit.withArgs( '#mwe-popups-settings-form, #mwe-popups-settings .save' )
|
|
.returns( {
|
|
hide: $.noop
|
|
} );
|
|
jQueryInit.withArgs( '#mwe-popups-settings-help, #mwe-popups-settings .okay' )
|
|
.returns( {
|
|
show: $.noop
|
|
} );
|
|
|
|
radioButtonValue = 'simple';
|
|
mw.popups.settings.save();
|
|
assert.equal(
|
|
mw.storage.get( 'mwe-popups-enabled' ),
|
|
'1',
|
|
'Popups are enabled when the `simple` radio button is checked.'
|
|
);
|
|
|
|
radioButtonValue = 'off';
|
|
mw.popups.settings.save();
|
|
assert.equal(
|
|
mw.storage.get( 'mwe-popups-enabled' ),
|
|
'0',
|
|
'Popups are disabled when the `off` radio button is checked.'
|
|
);
|
|
|
|
jQueryInit.restore();
|
|
mw.popups.settings.reloadPage.restore();
|
|
mw.popups.settings.close.restore();
|
|
} );
|
|
|
|
QUnit.test( 'open', function ( assert ) {
|
|
QUnit.expect( 2 );
|
|
|
|
mw.popups.settings.open();
|
|
assert.equal(
|
|
( $( window ).width() - mw.popups.settings.$element.outerWidth( true ) ) / 2 + 'px',
|
|
mw.popups.settings.$element.css( 'left' ),
|
|
'Settings dialog is horizontally aligned in the middle.'
|
|
);
|
|
assert.equal(
|
|
( $( window ).height() - mw.popups.settings.$element.outerHeight( true ) ) / 2 + 'px',
|
|
mw.popups.settings.$element.css( 'top' ),
|
|
'Settings dialog is vertically aligned in the middle.'
|
|
);
|
|
mw.popups.settings.close();
|
|
} );
|
|
|
|
QUnit.test( 'close', function ( assert ) {
|
|
QUnit.expect( 2 );
|
|
|
|
mw.popups.settings.open();
|
|
assert.equal(
|
|
mw.popups.settings.$element.is( ':visible' ),
|
|
true,
|
|
'Settings dialog is visible when settings are opened.'
|
|
);
|
|
mw.popups.settings.close();
|
|
assert.equal(
|
|
mw.popups.settings.$element.is( ':visible' ),
|
|
false,
|
|
'Settings dialog is not visible when settings are closed.'
|
|
);
|
|
} );
|
|
} )( jQuery, mediaWiki );
|