MarkTraceur has uploaded a new change for review.
https://gerrit.wikimedia.org/r/96152
Change subject: WIP: Add unit tests
......................................................................
WIP: Add unit tests
Not working as expected now, will come back to this shortly
Change-Id: Idfbec829399ff6969cd01be3c13a8ed7a66a1fef
---
M MultimediaViewer.php
M MultimediaViewerHooks.php
A tests/qunit/ext.multimediaViewer.test.js
3 files changed, 66 insertions(+), 0 deletions(-)
git pull
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MultimediaViewer
refs/changes/52/96152/1
diff --git a/MultimediaViewer.php b/MultimediaViewer.php
index 2108652..fa72547 100644
--- a/MultimediaViewer.php
+++ b/MultimediaViewer.php
@@ -135,6 +135,7 @@
$wgHooks['BeforePageDisplay'][] =
'MultimediaViewerHooks::getModulesForArticle';
$wgHooks['CategoryPageView'][] =
'MultimediaViewerHooks::getModulesForCategory';
$wgHooks['ResourceLoaderGetConfigVars'][] =
'MultimediaViewerHooks::resourceLoaderGetConfigVars';
+$wgHooks['ResourceLoaderTestModules'][] =
'MultimediaViewerHooks::getTestModules';
$wgExtensionCredits['other'][] = array(
'path' => __FILE__,
diff --git a/MultimediaViewerHooks.php b/MultimediaViewerHooks.php
index 1f170fc..88002fa 100644
--- a/MultimediaViewerHooks.php
+++ b/MultimediaViewerHooks.php
@@ -105,4 +105,25 @@
);
return true;
}
+
+ /**
+ * Get modules for testing our JavaScript
+ * @param array $testModules
+ * @param ResourceLoader resourceLoader
+ * @return bool
+ */
+ public static function getTestModules( array &$testModules,
ResourceLoader &$resourceLoader ) {
+ $testModules['qunit']['ext.multimediaViewer.tests'] = array(
+ 'scripts' => array(
+ 'tests/qunit/ext.multimediaViewer.test.js',
+ ),
+ 'dependencies' => array(
+ 'ext.multimediaViewer',
+ ),
+ 'localBasePath' => __DIR__,
+ 'remoteExtPath' => 'MultimediaViewer',
+ );
+
+ return true;
+ }
}
diff --git a/tests/qunit/ext.multimediaViewer.test.js
b/tests/qunit/ext.multimediaViewer.test.js
new file mode 100644
index 0000000..bdff499
--- /dev/null
+++ b/tests/qunit/ext.multimediaViewer.test.js
@@ -0,0 +1,44 @@
+( function ( mw, $ ) {
+ var $fixture = $( '#qunit-fixture' ),
+ clickCases = {
+ valid: [
+ $( '<img>' ).appendTo( $( '<a>' ).addClass(
'image' ).appendTo( $( '<div>' ).addClass( 'gallery' ).appendTo( $fixture ) ) ),
+ $( '<img>' ).appendTo( $( '<a>' ).addClass(
'image' ).appendTo( $fixture ) )
+ ],
+
+ invalid: [
+ $( '<img>' ).appendTo( $( '<p>' ).appendTo(
$fixture ) )
+ ]
+ };
+
+ QUnit.module( 'ext.multimediaViewer', QUnit.newMwEnvironment() );
+
+ QUnit.test( 'Click events', 2, function ( assert ) {
+ var i, $ele, viewer, count = 0;
+
+ function clickHandler() {
+ count++;
+ return false;
+ }
+
+ viewer = new mw.MultimediaViewer();
+ mw.mediaViewer = viewer;
+
+ for ( i = 0; i < clickCases.valid.length; i++ ) {
+ $ele = clickCases.valid[i].parent();
+ $ele.click( clickHandler );
+ $ele.click();
+ }
+
+ assert.equal( count, 0, 'All of the valid links have their
click events caught by MMV.' );
+ count = 0;
+
+ for ( i = 0; i < clickCases.invalid.length; i++ ) {
+ $ele = clickCases.invalid[i].parent();
+ $ele.click( clickHandler );
+ $ele.click();
+ }
+
+ assert.equal( count, clickCases.invalid.length, 'All of the
invalid links have their click events pass through.' );
+ } );
+}( mediaWiki, jQuery ) );
--
To view, visit https://gerrit.wikimedia.org/r/96152
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Idfbec829399ff6969cd01be3c13a8ed7a66a1fef
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/MultimediaViewer
Gerrit-Branch: master
Gerrit-Owner: MarkTraceur <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits