Legoktm has uploaded a new change for review.
https://gerrit.wikimedia.org/r/162012
Change subject: Add some very basic tests for MergeUser
......................................................................
Add some very basic tests for MergeUser
Change-Id: Ia275e3ca840ca8ec9e46d0dde8cc3b3f3be002f0
---
A UserMerge.hooks.php
M UserMerge.php
A tests/MergeUserTest.php
3 files changed, 48 insertions(+), 0 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/UserMerge
refs/changes/12/162012/1
diff --git a/UserMerge.hooks.php b/UserMerge.hooks.php
new file mode 100644
index 0000000..b6e2108
--- /dev/null
+++ b/UserMerge.hooks.php
@@ -0,0 +1,23 @@
+<?php
+
+class UserMergeHooks {
+
+ public function onUnitTestsList( &$files ) {
+ // @codeCoverageIgnoreStart
+ $directoryIterator = new RecursiveDirectoryIterator( __DIR__ .
'/tests/' );
+
+ /**
+ * @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;
+ // @codeCoverageIgnoreEnd
+ }
+}
diff --git a/UserMerge.php b/UserMerge.php
index b8596e4..7f2bde4 100644
--- a/UserMerge.php
+++ b/UserMerge.php
@@ -61,7 +61,9 @@
$wgAutoloadClasses['MergeUser'] = $dir . 'MergeUser.php';
$wgAutoloadClasses['IUserMergeLogger'] = $dir . 'IUserMergeLogger.php';
$wgAutoloadClasses['UserMergeLogger'] = $dir . 'UserMergeLogger.php';
+$wgAutoloadClasses['UserMergeHooks'] = $dir . 'UserMergeHooks.php';
+$wgHooks['UnitTestsList'][] = 'UserMergeHooks::onUnitTestsList';
$wgMessagesDirs['UserMerge'] = __DIR__ . '/i18n';
$wgExtensionMessagesFiles['UserMerge'] = $dir . 'UserMerge.i18n.php';
diff --git a/tests/MergeUserTest.php b/tests/MergeUserTest.php
new file mode 100644
index 0000000..e078dc2
--- /dev/null
+++ b/tests/MergeUserTest.php
@@ -0,0 +1,23 @@
+<?php
+
+/**
+ * @group UserMerge
+ */
+class MergeUserTest extends MediaWikiTestCase {
+
+
+ public function testMerge() {
+ $user1 = User::newFromName( 'FooBar' );
+ $user1->addToDatabase();
+ $user1->setOption( 'foo', 'baz' );
+ $user1->saveSettings();
+ $user2 = User::newFromName( 'FooBarBaz' );
+ $user2->addToDatabase();
+
+ $mu = new MergeUser( $user1, $user2, $this->getMock(
'UserMergeLogger' ) );
+ $mu->merge( $this->getMock( 'User' ) );
+
+ $user2 = User::newFromName( 'FooBarBaz' ); // Reset instance
cache
+ $this->assertEquals( 'baz', $user2->getOption( 'foo' ) );
+ }
+}
\ No newline at end of file
--
To view, visit https://gerrit.wikimedia.org/r/162012
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia275e3ca840ca8ec9e46d0dde8cc3b3f3be002f0
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/UserMerge
Gerrit-Branch: master
Gerrit-Owner: Legoktm <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits