mediawiki-extensions-Multim.../tests/qunit/mmv/ui/mmv.ui.permission.test.js
Gilles Dubuc 95dcc971b0 Reduce number of RL modules in MultimediaViewer
Having many modules makes the startup module in the head
unnecessarily longer. Things should only be in their own
module if they're going to be loaded on demand on their
own or are a shared dependency of separate modules that
are.

This change brings down the amount of modules declared by
Media Viewer from 53 to 8. The ones that remain are
mostly things loaded on demand.

Bug: T103706
Change-Id: I5b0d29209599285b93217e96def818e641646c73
2015-07-10 00:07:14 +02:00

113 lines
4.1 KiB
JavaScript

/*
* This file is part of the MediaWiki extension MediaViewer.
*
* MediaViewer is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* MediaViewer is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with MediaViewer. If not, see <http://www.gnu.org/licenses/>.
*/
( function ( mw, $ ) {
QUnit.module( 'mw.mmv.ui.Permission', QUnit.newMwEnvironment( {
setup: function () {
// animation would keep running, conflict with other tests
this.sandbox.stub( $.fn, 'animate' ).returnsThis();
}
} ) );
QUnit.test( 'Constructor sanity check', 1, function ( assert ) {
var $qf = $( '#qunit-fixture' ),
permission = new mw.mmv.ui.Permission( $qf );
assert.ok( permission, 'constructor does not throw error' );
} );
QUnit.test( 'set()', 5, function ( assert ) {
var $qf = $( '#qunit-fixture' ),
permission = new mw.mmv.ui.Permission( $qf ),
text = 'Nothing to see here.';
permission.set( text );
// FIXME get rid of "view more" - this is temporary
assert.strictEqual( permission.$text.children().remove().end().text(),
text, 'permission text is set' );
assert.strictEqual( permission.$html.text(), text, 'permission html is set' );
assert.ok( permission.$text.is( ':visible' ), 'permission text is visible' );
assert.ok( !permission.$html.is( ':visible' ), 'permission html is not visible' );
assert.ok( !permission.$close.is( ':visible' ), 'close button is not visible' );
} );
QUnit.test( 'set() with html', 2, function ( assert ) {
var $qf = $( '#qunit-fixture' ),
permission = new mw.mmv.ui.Permission( $qf ),
text = '<b>Nothing</b> to see here.';
permission.set( text );
assert.ok( !permission.$text.find( 'b' ).length, 'permission text has no html' );
assert.ok( permission.$html.find( 'b' ), 'permission html has html' );
} );
QUnit.test( 'empty()', 3, function ( assert ) {
var $qf = $( '#qunit-fixture' ),
permission = new mw.mmv.ui.Permission( $qf ),
text = 'Nothing to see here.';
permission.set( text );
permission.empty();
assert.ok( !permission.$text.is( ':visible' ), 'permission text is not visible' );
assert.ok( !permission.$html.is( ':visible' ), 'permission html is not visible' );
assert.ok( !permission.$close.is( ':visible' ), 'close button is not visible' );
} );
QUnit.test( 'grow()', 3, function ( assert ) {
var $qf = $( '#qunit-fixture' ),
permission = new mw.mmv.ui.Permission( $qf ),
text = 'Nothing to see here.';
permission.set( text );
permission.grow();
assert.ok( !permission.$text.is( ':visible' ), 'permission text is not visible' );
assert.ok( permission.$html.is( ':visible' ), 'permission html is visible' );
assert.ok( permission.$close.is( ':visible' ), 'close button is visible' );
} );
QUnit.test( 'shrink()', 3, function ( assert ) {
var $qf = $( '#qunit-fixture' ),
permission = new mw.mmv.ui.Permission( $qf ),
text = 'Nothing to see here.';
permission.set( text );
permission.grow();
permission.shrink();
assert.ok( permission.$text.is( ':visible' ), 'permission text is visible' );
assert.ok( !permission.$html.is( ':visible' ), 'permission html is not visible' );
assert.ok( !permission.$close.is( ':visible' ), 'close button is not visible' );
} );
QUnit.test( 'isFullSize()', 3, function ( assert ) {
var $qf = $( '#qunit-fixture' ),
permission = new mw.mmv.ui.Permission( $qf ),
text = 'Nothing to see here.';
permission.set( text );
assert.ok( !permission.isFullSize(), 'permission is not full-size' );
permission.grow();
assert.ok( permission.isFullSize(), 'permission is full-size' );
permission.shrink();
assert.ok( !permission.isFullSize(), 'permission is not full-size again' );
} );
}( mediaWiki, jQuery ) );