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

Reply via email to