Merge "Add MWTidy::factory()"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Tue, 26 Jul 2016 12:10:37 +0000 (12:10 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Tue, 26 Jul 2016 12:10:37 +0000 (12:10 +0000)
autoload.php
includes/WatchedItem.php
includes/deferred/CallableUpdate.php [deleted file]
includes/deferred/MWCallableUpdate.php [new file with mode: 0644]
tests/phpunit/includes/WatchedItemIntegrationTest.php
tests/phpunit/includes/WatchedItemUnitTest.php

index 8c16adf..5808040 100644 (file)
@@ -755,7 +755,7 @@ $wgAutoloadLocalClasses = [
        'LonelyPagesPage' => __DIR__ . '/includes/specials/SpecialLonelypages.php',
        'LongPagesPage' => __DIR__ . '/includes/specials/SpecialLongpages.php',
        'MIMEsearchPage' => __DIR__ . '/includes/specials/SpecialMIMEsearch.php',
-       'MWCallableUpdate' => __DIR__ . '/includes/deferred/CallableUpdate.php',
+       'MWCallableUpdate' => __DIR__ . '/includes/deferred/MWCallableUpdate.php',
        'MWContentSerializationException' => __DIR__ . '/includes/content/ContentHandler.php',
        'MWCryptHKDF' => __DIR__ . '/includes/utils/MWCryptHKDF.php',
        'MWCryptHash' => __DIR__ . '/includes/utils/MWCryptHash.php',
index b070e1e..bfd1d61 100644 (file)
@@ -156,54 +156,6 @@ class WatchedItem {
                return new self( $user, $title, self::DEPRECATED_USAGE_TIMESTAMP, (bool)$checkRights );
        }
 
-       /**
-        * @deprecated since 1.27 Use WatchedItemStore::resetNotificationTimestamp()
-        */
-       public function resetNotificationTimestamp( $force = '', $oldid = 0 ) {
-               wfDeprecated( __METHOD__, '1.27' );
-               if ( $this->checkRights && !$this->user->isAllowed( 'editmywatchlist' ) ) {
-                       return;
-               }
-               MediaWikiServices::getInstance()->getWatchedItemStore()->resetNotificationTimestamp(
-                       $this->user,
-                       $this->getTitle(),
-                       $force,
-                       $oldid
-               );
-       }
-
-       /**
-        * @deprecated since 1.27 Use WatchedItemStore::addWatchBatch()
-        */
-       public static function batchAddWatch( array $items ) {
-               wfDeprecated( __METHOD__, '1.27' );
-               if ( !$items ) {
-                       return false;
-               }
-
-               $targets = [];
-               $users = [];
-               /** @var WatchedItem $watchedItem */
-               foreach ( $items as $watchedItem ) {
-                       $user = $watchedItem->getUser();
-                       if ( $watchedItem->checkRights && !$user->isAllowed( 'editmywatchlist' ) ) {
-                               continue;
-                       }
-                       $userId = $user->getId();
-                       $users[$userId] = $user;
-                       $targets[$userId][] = $watchedItem->getTitle()->getSubjectPage();
-                       $targets[$userId][] = $watchedItem->getTitle()->getTalkPage();
-               }
-
-               $store = MediaWikiServices::getInstance()->getWatchedItemStore();
-               $success = true;
-               foreach ( $users as $userId => $user ) {
-                       $success &= $store->addWatchBatchForUser( $user, $targets[$userId] );
-               }
-
-               return $success;
-       }
-
        /**
         * @deprecated since 1.27 Use User::addWatch()
         * @return bool
diff --git a/includes/deferred/CallableUpdate.php b/includes/deferred/CallableUpdate.php
deleted file mode 100644 (file)
index d63c292..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-/**
- * Deferrable Update for closure/callback
- */
-class MWCallableUpdate implements DeferrableUpdate, DeferrableCallback {
-       /** @var callable */
-       private $callback;
-       /** @var string */
-       private $fname;
-
-       /**
-        * @param callable $callback
-        * @param string $fname Calling method
-        */
-       public function __construct( callable $callback, $fname = 'unknown' ) {
-               $this->callback = $callback;
-               $this->fname = $fname;
-       }
-
-       public function doUpdate() {
-               call_user_func( $this->callback );
-       }
-
-       public function getOrigin() {
-               return $this->fname;
-       }
-}
diff --git a/includes/deferred/MWCallableUpdate.php b/includes/deferred/MWCallableUpdate.php
new file mode 100644 (file)
index 0000000..d63c292
--- /dev/null
@@ -0,0 +1,28 @@
+<?php
+
+/**
+ * Deferrable Update for closure/callback
+ */
+class MWCallableUpdate implements DeferrableUpdate, DeferrableCallback {
+       /** @var callable */
+       private $callback;
+       /** @var string */
+       private $fname;
+
+       /**
+        * @param callable $callback
+        * @param string $fname Calling method
+        */
+       public function __construct( callable $callback, $fname = 'unknown' ) {
+               $this->callback = $callback;
+               $this->fname = $fname;
+       }
+
+       public function doUpdate() {
+               call_user_func( $this->callback );
+       }
+
+       public function getOrigin() {
+               return $this->fname;
+       }
+}
index be22260..0c813da 100644 (file)
@@ -1,4 +1,5 @@
 <?php
+use MediaWiki\MediaWikiServices;
 
 /**
  * @author Addshore
@@ -63,7 +64,9 @@ class WatchedItemIntegrationTest extends MediaWikiTestCase {
                        WatchedItem::fromUserTitle( $user, $title )->getNotificationTimestamp()
                );
 
-               WatchedItem::fromUserTitle( $user, $title )->resetNotificationTimestamp();
+               MediaWikiServices::getInstance()->getWatchedItemStore()->resetNotificationTimestamp(
+                       $user, $title
+               );
                $this->assertNull( WatchedItem::fromUserTitle( $user, $title )->getNotificationTimestamp() );
        }
 
@@ -107,7 +110,9 @@ class WatchedItemIntegrationTest extends MediaWikiTestCase {
                $user = $this->getUser();
                $title = Title::newFromText( 'WatchedItemIntegrationTestPage' );
                WatchedItem::fromUserTitle( $user, $title )->addWatch();
-               WatchedItem::fromUserTitle( $user, $title )->resetNotificationTimestamp();
+               MediaWikiServices::getInstance()->getWatchedItemStore()->resetNotificationTimestamp(
+                       $user, $title
+               );
 
                $this->assertEquals(
                        null,
index 0182eb7..7e1ff3d 100644 (file)
@@ -78,35 +78,6 @@ class WatchedItemUnitTest extends MediaWikiTestCase {
                $this->assertEquals( $timestamp, $item->getNotificationTimestamp() );
        }
 
-       /**
-        * @dataProvider provideUserTitleTimestamp
-        */
-       public function testResetNotificationTimestamp( $user, $linkTarget, $timestamp ) {
-               $force = 'XXX';
-               $oldid = 999;
-
-               $store = $this->getMockWatchedItemStore();
-               $store->expects( $this->once() )
-                       ->method( 'resetNotificationTimestamp' )
-                       ->with( $user, $this->isInstanceOf( Title::class ), $force, $oldid )
-                       ->will( $this->returnCallback(
-                               function ( $user, Title $title, $force, $oldid ) use ( $linkTarget ) {
-                                       /** @var LinkTarget $linkTarget */
-                                       $this->assertInstanceOf( 'Title', $title );
-                                       $this->assertSame( $linkTarget->getDBkey(), $title->getDBkey() );
-                                       $this->assertSame( $linkTarget->getFragment(), $title->getFragment() );
-                                       $this->assertSame( $linkTarget->getNamespace(), $title->getNamespace() );
-                                       $this->assertSame( $linkTarget->getText(), $title->getText() );
-
-                                       return true;
-                               }
-                       ) );
-               $this->setService( 'WatchedItemStore', $store );
-
-               $item = new WatchedItem( $user, $linkTarget, $timestamp );
-               $item->resetNotificationTimestamp( $force, $oldid );
-       }
-
        public function testAddWatch() {
                $title = Title::newFromText( 'SomeTitle' );
                $timestamp = null;
@@ -176,38 +147,4 @@ class WatchedItemUnitTest extends MediaWikiTestCase {
                WatchedItem::duplicateEntries( $oldTitle, $newTitle );
        }
 
-       public function testBatchAddWatch() {
-               $itemOne = new WatchedItem( $this->getMockUser( 1 ), new TitleValue( 0, 'Title1' ), null );
-               $itemTwo = new WatchedItem(
-                       $this->getMockUser( 3 ),
-                       Title::newFromText( 'Title2' ),
-                       '20150101010101'
-               );
-
-               $store = $this->getMockWatchedItemStore();
-               $store->expects( $this->exactly( 2 ) )
-                       ->method( 'addWatchBatchForUser' );
-               $store->expects( $this->at( 0 ) )
-                       ->method( 'addWatchBatchForUser' )
-                       ->with(
-                               $itemOne->getUser(),
-                               [
-                                       $itemOne->getTitle()->getSubjectPage(),
-                                       $itemOne->getTitle()->getTalkPage(),
-                               ]
-                       );
-               $store->expects( $this->at( 1 ) )
-                       ->method( 'addWatchBatchForUser' )
-                       ->with(
-                               $itemTwo->getUser(),
-                               [
-                                       $itemTwo->getTitle()->getSubjectPage(),
-                                       $itemTwo->getTitle()->getTalkPage(),
-                               ]
-                       );
-               $this->setService( 'WatchedItemStore', $store );
-
-               WatchedItem::batchAddWatch( [ $itemOne, $itemTwo ] );
-       }
-
 }