WMDE-Fisch has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/340989 )
Change subject: Added QUnit tests for the HelpDialog module
......................................................................
Added QUnit tests for the HelpDialog module
Change-Id: Ic660ffe9906b93d8c0b5e6de3e543af0829fc42b
---
M .eslintrc.json
M extension.json
M includes/TwoColConflictHooks.php
M modules/ext.TwoColConflict.HelpDialog.js
A tests/qunit/TwoColConflict.HelpDialog.test.js
5 files changed, 101 insertions(+), 1 deletion(-)
Approvals:
Addshore: Looks good to me, but someone else must approve
Tobias Gritschacher: Looks good to me, approved
jenkins-bot: Verified
diff --git a/.eslintrc.json b/.eslintrc.json
index 6407c75..1dc4bf0 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -2,7 +2,8 @@
"extends": "wikimedia",
"env": {
"browser": true,
- "jquery": true
+ "jquery": true,
+ "qunit": true
},
"globals": {
"mediaWiki": false,
diff --git a/extension.json b/extension.json
index cd0badc..25908d1 100644
--- a/extension.json
+++ b/extension.json
@@ -29,6 +29,9 @@
],
"CustomEditor": [
"TwoColConflictHooks::onCustomEditor"
+ ],
+ "ResourceLoaderTestModules": [
+ "TwoColConflictHooks::onResourceLoaderTestModules"
]
},
"MessagesDirs": {
diff --git a/includes/TwoColConflictHooks.php b/includes/TwoColConflictHooks.php
index 574a799..6b0fd3b 100644
--- a/includes/TwoColConflictHooks.php
+++ b/includes/TwoColConflictHooks.php
@@ -56,4 +56,18 @@
}
}
+ public static function onResourceLoaderTestModules( array
&$testModules, ResourceLoader $rl ) {
+ $testModules['qunit']['ext.TwoColConflict.tests'] = [
+ 'scripts' => [
+ 'tests/qunit/TwoColConflict.HelpDialog.test.js'
+ ],
+ 'dependencies' => [
+ 'ext.TwoColConflict.HelpDialog'
+ ],
+ 'localBasePath' => dirname( __DIR__ ),
+ 'remoteExtPath' => 'TwoColConflict',
+ ];
+
+ return true;
+ }
}
diff --git a/modules/ext.TwoColConflict.HelpDialog.js
b/modules/ext.TwoColConflict.HelpDialog.js
index 8ddf1cb..02b9f23 100644
--- a/modules/ext.TwoColConflict.HelpDialog.js
+++ b/modules/ext.TwoColConflict.HelpDialog.js
@@ -174,6 +174,10 @@
windowManager.closeWindow( dialog );
}
};
+
+ HelpDialog.getDialogInstance = function () {
+ return dialog;
+ };
};
mw.libs.twoColConflict = mw.libs.twoColConflict || {};
diff --git a/tests/qunit/TwoColConflict.HelpDialog.test.js
b/tests/qunit/TwoColConflict.HelpDialog.test.js
new file mode 100644
index 0000000..2e76215
--- /dev/null
+++ b/tests/qunit/TwoColConflict.HelpDialog.test.js
@@ -0,0 +1,78 @@
+( function ( mw ) {
+ var helpDialog = mw.libs.twoColConflict.HelpDialog,
+ dialog;
+
+ QUnit.module( 'ext.TwoColConflict.HelpDialog' );
+
+ QUnit.test( 'Initialize HelpDialog', function ( assert ) {
+ helpDialog.init( {
+ name: 'twoColConflict',
+ title: 'twoColConflict-tutorial',
+ size: 'medium',
+ prev: 'twoColConflict-previous-dialog',
+ next: 'twoColConflict-next-dialog',
+ close: 'twoColConflict-close-dialog',
+ slides: [
+ {
+ message:
'twoColConflict-help-dialog-slide1',
+ imageClass:
'mw-twocolconflict-help-dialog-slide-1',
+ imageMode: 'landscape'
+ },
+ {
+ message:
'twoColConflict-help-dialog-slide2',
+ imageClass:
'mw-twocolconflict-help-dialog-slide-2',
+ imageMode: 'landscape'
+ },
+ {
+ message:
'twoColConflict-help-dialog-slide3',
+ imageClass:
'mw-twocolconflict-help-dialog-slide-3',
+ imageMode: 'landscape'
+ },
+ {
+ message:
'twoColConflict-help-dialog-slide4',
+ imageClass:
'mw-twocolconflict-help-dialog-slide-4',
+ imageMode: 'landscape'
+ }
+ ]
+ } );
+
+ dialog = helpDialog.getDialogInstance();
+
+ helpDialog.show();
+ helpDialog.hide();
+
+ function getSlideTextHtml( slide ) {
+ return slide.$element.find(
'.mw-twocolconflict-help-dialog-text' ).html();
+ }
+
+ function addLinkTargets( parsedMessage ) {
+ var $container = $( '<div>' ).html( parsedMessage );
+ $container.find( 'a' ).attr( 'target', '_blank' );
+ return $container.html();
+ }
+
+ assert.equal( dialog.slides.length, 4 );
+ assert.equal( dialog.slidePointer, 0 );
+ assert.equal(
+ getSlideTextHtml( dialog.slides[ 0 ] ),
+ addLinkTargets( mw.message(
'twoColConflict-help-dialog-slide1' ).parse() )
+ );
+ assert.equal(
+ getSlideTextHtml( dialog.slides[ 1 ] ),
+ addLinkTargets( mw.message(
'twoColConflict-help-dialog-slide2' ).parse() )
+ );
+ assert.equal(
+ getSlideTextHtml( dialog.slides[ 2 ] ),
+ addLinkTargets( mw.message(
'twoColConflict-help-dialog-slide3' ).parse() )
+ );
+ assert.equal(
+ getSlideTextHtml( dialog.slides[ 3 ] ),
+ addLinkTargets( mw.message(
'twoColConflict-help-dialog-slide4' ).parse() )
+ );
+ assert.ok( dialog.slides[ 0 ].$element.find( 'div' ).hasClass(
'mw-twocolconflict-help-dialog-slide-1' ) );
+ assert.ok( dialog.slides[ 1 ].$element.find( 'div' ).hasClass(
'mw-twocolconflict-help-dialog-slide-2' ) );
+ assert.ok( dialog.slides[ 2 ].$element.find( 'div' ).hasClass(
'mw-twocolconflict-help-dialog-slide-3' ) );
+ assert.ok( dialog.slides[ 3 ].$element.find( 'div' ).hasClass(
'mw-twocolconflict-help-dialog-slide-4' ) );
+ } );
+
+}( mediaWiki ) );
--
To view, visit https://gerrit.wikimedia.org/r/340989
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ic660ffe9906b93d8c0b5e6de3e543af0829fc42b
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/TwoColConflict
Gerrit-Branch: master
Gerrit-Owner: Andrew-WMDE <[email protected]>
Gerrit-Reviewer: Addshore <[email protected]>
Gerrit-Reviewer: Tobias Gritschacher <[email protected]>
Gerrit-Reviewer: WMDE-Fisch <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits