jenkins-bot has submitted this change and it was merged.
Change subject: Make use of UnitTestsList hook & Fix compat
......................................................................
Make use of UnitTestsList hook & Fix compat
Introduces JsonSerializable interface for use before
version 5.4 php
Change-Id: I60586d497c561e9d12fc3a76b7aec9afbdfa2495
---
M MassAction.php
A compat/JsonSerializable.php
A config/empty.php
M src/MassActionHooks.php
M src/Targets/WikiPage/Matchers/RedirectMatcher.php
5 files changed, 50 insertions(+), 1 deletion(-)
Approvals:
Legoktm: Looks good to me, approved
jenkins-bot: Verified
diff --git a/MassAction.php b/MassAction.php
index 64f0c96..b500f5d 100644
--- a/MassAction.php
+++ b/MassAction.php
@@ -23,8 +23,19 @@
}
});
+// Load compat files where needed
+if ( !interface_exists( 'JsonSerializable', false ) ) {
+ require_once __DIR__ . '/compat/JsonSerializable.php';
+}
+
// Setup the extension!
call_user_func( function() {
+ # If no config is yet loaded load an empty one
+ global $wgMassActionConfig;
+ if( !isset( $wgMassActionConfig ) ) {
+ require_once __DIR__ . '/config/empty.php';
+ }
+
# Register Special:Version details
global $wgExtensionCredits;
$wgExtensionCredits['MassAction'][] = array(
@@ -48,6 +59,7 @@
# Schema updates for update.php
global $wgHooks;
$wgHooks['LoadExtensionSchemaUpdates'][] =
'MassAction\\MassActionHooks::onLoadExtensionSchemaUpdates';
+ $wgHooks['UnitTestsList'][] =
'MassAction\\MassActionHooks::onUnitTestsList';
# Add own log type
global $wgLogTypes;
@@ -74,3 +86,4 @@
);
} );
+
diff --git a/compat/JsonSerializable.php b/compat/JsonSerializable.php
new file mode 100644
index 0000000..2258ef9
--- /dev/null
+++ b/compat/JsonSerializable.php
@@ -0,0 +1,10 @@
+<?php
+
+/**
+ * PHP 5.3 compatibility for PHP 5.4's \JsonSerializable
+ */
+interface JsonSerializable {
+
+ public function jsonSerialize();
+
+}
\ No newline at end of file
diff --git a/config/empty.php b/config/empty.php
new file mode 100644
index 0000000..54c1718
--- /dev/null
+++ b/config/empty.php
@@ -0,0 +1,8 @@
+<?php
+
+call_user_func( function() {
+ global $wgMassActionConfig;
+ $wgMassActionConfig = array(
+ 'targets' => array(),
+ );
+} );
\ No newline at end of file
diff --git a/src/MassActionHooks.php b/src/MassActionHooks.php
index 3bc677f..34c90a5 100644
--- a/src/MassActionHooks.php
+++ b/src/MassActionHooks.php
@@ -3,6 +3,9 @@
namespace MassAction;
use DatabaseUpdater;
+use RecursiveDirectoryIterator;
+use RecursiveIteratorIterator;
+use SplFileInfo;
/**
* @licence GNU GPL v2+
@@ -25,4 +28,19 @@
return true;
}
+ public static function onUnitTestsList( &$files ) {
+ $directoryIterator = new RecursiveDirectoryIterator( __DIR__ .
'/../tests/phpunit/' );
+ /**
+ * @var SplFileInfo $fileInfo
+ */
+ $ourFiles = array();
+ foreach ( new RecursiveIteratorIterator( $directoryIterator )
as $fileInfo ) {
+ if ( substr( $fileInfo->getFilename(), -8 ) ===
'Test.php' ) {
+ $ourFiles[] = $fileInfo->getPathname();
+ }
+ }
+ $files = array_merge( $files, $ourFiles );
+ return true;
+ }
+
}
diff --git a/src/Targets/WikiPage/Matchers/RedirectMatcher.php
b/src/Targets/WikiPage/Matchers/RedirectMatcher.php
index f1cd26e..1fd2e3a 100644
--- a/src/Targets/WikiPage/Matchers/RedirectMatcher.php
+++ b/src/Targets/WikiPage/Matchers/RedirectMatcher.php
@@ -20,7 +20,7 @@
* @param bool $redirectState
*/
public function __construct( $redirectState ) {
- $this->redirectState = boolval( $redirectState );
+ $this->redirectState = (bool) $redirectState;
}
public function getDescription() {
--
To view, visit https://gerrit.wikimedia.org/r/205275
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I60586d497c561e9d12fc3a76b7aec9afbdfa2495
Gerrit-PatchSet: 4
Gerrit-Project: mediawiki/extensions/MassAction
Gerrit-Branch: master
Gerrit-Owner: Addshore <[email protected]>
Gerrit-Reviewer: Legoktm <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits