mediawiki-extensions-Revisi.../tests/qunit/RevisionSlider.HelpDialog.test.js
Adam Wight c9958c5edd Migrate HelpDialog to packageFiles
FIXME: Reusing HelpDialog as a module entrypoint creates a circular
reference.  It's harmless because the dependencies are added at
different times, but also easy to refactor away.

Change-Id: I3608a78baddf2376cc9eb4524625f4911c130c06
2020-04-05 01:50:48 +02:00

44 lines
1.4 KiB
JavaScript

( function () {
var HelpDialog = require( 'ext.RevisionSlider.HelpDialog' ).HelpDialog;
QUnit.module( 'ext.RevisionSlider.HelpDialog' );
QUnit.test( 'Initialize HelpDialog', function ( assert ) {
var helpDialog = new HelpDialog(),
windowManager = new OO.ui.WindowManager();
function getSlideTextHtml( slide ) {
return slide.$element.find( '.mw-revslider-help-dialog-text' ).html();
}
function addLinkTargets( parsedMessage ) {
var $container = $( '<div>' ).html( parsedMessage );
$container.find( 'a' ).attr( 'target', '_blank' );
return $container.html();
}
$( 'body' ).append( windowManager.$element );
windowManager.addWindows( [ helpDialog ] );
assert.strictEqual( helpDialog.slides.length, 4 );
assert.strictEqual( helpDialog.slidePointer, 0 );
assert.strictEqual(
getSlideTextHtml( helpDialog.slides[ 0 ] ),
addLinkTargets( mw.message( 'revisionslider-help-dialog-slide1' ).parse() )
);
assert.strictEqual(
getSlideTextHtml( helpDialog.slides[ 1 ] ),
addLinkTargets( mw.message( 'revisionslider-help-dialog-slide2' ).parse() )
);
assert.strictEqual(
getSlideTextHtml( helpDialog.slides[ 2 ] ),
addLinkTargets( mw.message( 'revisionslider-help-dialog-slide3a' ).parse() )
);
assert.strictEqual(
getSlideTextHtml( helpDialog.slides[ 3 ] ),
addLinkTargets( mw.message( 'revisionslider-help-dialog-slide4' ).parse() )
);
} );
}() );