mediawiki-extensions-Revisi.../tests/qunit/RevisionSlider.SliderView.test.js
Ed Sanders 64effa6e42 Move var declarations inline
Change-Id: If1256b01f6ac8237c79b5ba62f20ad65f1dc7691
2021-10-07 14:55:44 +01:00

59 lines
2 KiB
JavaScript

var Slider = require( 'ext.RevisionSlider.Slider' ).Slider,
SliderView = require( 'ext.RevisionSlider.Slider' ).SliderView,
Revision = require( 'ext.RevisionSlider.RevisionList' ).Revision,
RevisionList = require( 'ext.RevisionSlider.RevisionList' ).RevisionList,
startHistoryState, startHref;
QUnit.module( 'ext.RevisionSlider.SliderView' );
QUnit.testStart( function () {
startHistoryState = history.state;
startHref = window.location.href;
} );
QUnit.testDone( function () {
history.replaceState( startHistoryState, 'QUnit', startHref );
} );
QUnit.test( 'render adds the slider view with defined revisions selected', function ( assert ) {
var $container = $( '<div>' ),
view = new SliderView( new Slider( new RevisionList( [
new Revision( { revid: 1, size: 5, comment: 'Comment1', user: 'User1' } ),
new Revision( { revid: 3, size: 21, comment: 'Comment2', user: 'User2' } ),
new Revision( { revid: 37, size: 13, comment: 'Comment3', user: 'User3' } )
] ) ) );
mw.config.set( {
wgDiffOldId: 1,
wgDiffNewId: 37
} );
view.render( $container );
assert.ok( $container.find( '.mw-revslider-revision-slider' ).length > 0 );
var $revisionOld = $container.find( '.mw-revslider-revision-old' );
var $revisionNew = $container.find( '.mw-revslider-revision-new' );
assert.ok( $revisionOld.length > 0 );
assert.strictEqual( $revisionOld.attr( 'data-revid' ), '1' );
assert.ok( $revisionNew.length > 0 );
assert.strictEqual( $revisionNew.attr( 'data-revid' ), '37' );
} );
QUnit.test( 'render throws an exception when no selected revisions provided', function ( assert ) {
var $container = $( '<div>' ),
view = new SliderView( new Slider( new RevisionList( [
new Revision( { revid: 1, size: 5, comment: 'Comment1', user: 'User1' } ),
new Revision( { revid: 3, size: 21, comment: 'Comment2', user: 'User2' } ),
new Revision( { revid: 37, size: 13, comment: 'Comment3', user: 'User3' } )
] ) ) );
mw.config.set( 'wgDiffOldId', null );
mw.config.set( 'wgDiffNewId', null );
assert.throws(
function () {
view.render( $container );
}
);
} );