jenkins-bot has submitted this change and it was merged.

Change subject: Inline trivial ItemSearchTextGenerator code
......................................................................


Inline trivial ItemSearchTextGenerator code

My reason to touch this code was an "unknown method called" warning
by PHPStorm's code analysis. It's gone with this refactoring.

Change-Id: Id2d7a4568d8a1c93ce69e04ab5dc2476d3783e30
---
M repo/includes/ItemSearchTextGenerator.php
M repo/tests/phpunit/includes/EntitySearchTextGeneratorTest.php
M repo/tests/phpunit/includes/ItemSearchTextGeneratorTest.php
3 files changed, 48 insertions(+), 25 deletions(-)

Approvals:
  Hoo man: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/repo/includes/ItemSearchTextGenerator.php 
b/repo/includes/ItemSearchTextGenerator.php
index e948ee6..a0ba612 100644
--- a/repo/includes/ItemSearchTextGenerator.php
+++ b/repo/includes/ItemSearchTextGenerator.php
@@ -21,25 +21,11 @@
                $entitySearchTextGenerator = new EntitySearchTextGenerator();
                $text = $entitySearchTextGenerator->generate( $item );
 
-               $siteLinks = $item->getSiteLinks();
-               $text .= $this->getSiteLinksText( $siteLinks );
-
-               return $text;
-       }
-
-       /**
-        * @param array $siteLinks
-        *
-        * @return string
-        */
-       protected function getSiteLinksText( array $siteLinks ) {
-               $pages = array();
-
-               foreach( $siteLinks as $siteLink ) {
-                       $pages[] = $siteLink->getPageName();
+               foreach ( $item->getSiteLinks() as $siteLink ) {
+                       $text .= "\n" . $siteLink->getPageName();
                }
 
-               return "\n" . implode( "\n", $pages );
+               return $text;
        }
 
 }
diff --git a/repo/tests/phpunit/includes/EntitySearchTextGeneratorTest.php 
b/repo/tests/phpunit/includes/EntitySearchTextGeneratorTest.php
index 1c71c52..d4d0f30 100644
--- a/repo/tests/phpunit/includes/EntitySearchTextGeneratorTest.php
+++ b/repo/tests/phpunit/includes/EntitySearchTextGeneratorTest.php
@@ -15,11 +15,12 @@
  * @licence GNU GPL v2+
  * @author Daniel Kinzler
  * @author Katie Filbert < [email protected] >
+ * @author Thiemo Mättig
  */
 class EntitySearchTextGeneratorTest extends \PHPUnit_Framework_TestCase {
 
        public function generateProvider() {
-               $item = Item::newEmpty();
+               $item = new Item();
 
                $item->getFingerprint()->setLabel( 'en', 'Test' );
                $item->getFingerprint()->setLabel( 'de', 'Testen' );
@@ -45,9 +46,8 @@
 
        /**
         * @dataProvider generateProvider
-        *
         * @param EntityDocument $entity
-        * @param array $patterns
+        * @param string[] $patterns
         */
        public function testGenerate( EntityDocument $entity, array $patterns ) 
{
                $generator = new EntitySearchTextGenerator();
@@ -60,8 +60,27 @@
 
        public function 
testGivenEntityWithoutFingerprint_emptyStringIsReturned() {
                $generator = new EntitySearchTextGenerator();
-               $entityDocument = $this->getMock( 
'Wikibase\DataModel\Entity\EntityDocument' );
-               $this->assertSame( '', $generator->generate( $entityDocument ) 
);
+               $entity = $this->getMock( 
'Wikibase\DataModel\Entity\EntityDocument' );
+               $text = $generator->generate( $entity );
+
+               $this->assertSame( '', $text );
+       }
+
+       public function testGivenEmptyEntity_newlineIsReturned() {
+               $generator = new EntitySearchTextGenerator();
+               $item = new Item();
+               $text = $generator->generate( $item );
+
+               $this->assertSame( "\n", $text );
+       }
+
+       public function testGivenUntrimmedLabel_generateDoesNotTrim() {
+               $item = new Item();
+               $item->getFingerprint()->setLabel( 'en', ' untrimmed label ' );
+               $generator = new EntitySearchTextGenerator();
+               $text = $generator->generate( $item );
+
+               $this->assertSame( " untrimmed label \n", $text );
        }
 
 }
diff --git a/repo/tests/phpunit/includes/ItemSearchTextGeneratorTest.php 
b/repo/tests/phpunit/includes/ItemSearchTextGeneratorTest.php
index f60d043..4489c79 100644
--- a/repo/tests/phpunit/includes/ItemSearchTextGeneratorTest.php
+++ b/repo/tests/phpunit/includes/ItemSearchTextGeneratorTest.php
@@ -13,11 +13,12 @@
  *
  * @licence GNU GPL v2+
  * @author Katie Filbert < [email protected] >
+ * @author Thiemo Mättig
  */
 class ItemSearchTextGeneratorTest extends \PHPUnit_Framework_TestCase {
 
        public function generateProvider() {
-               $item = Item::newEmpty();
+               $item = new Item();
 
                $item->setLabel( 'en', 'Test' );
                $item->setLabel( 'de', 'Testen' );
@@ -47,9 +48,8 @@
 
        /**
         * @dataProvider generateProvider
-        *
         * @param Item $item
-        * @param array $patterns
+        * @param string[] $patterns
         */
        public function testGenerate( Item $item, array $patterns ) {
                $generator = new ItemSearchTextGenerator();
@@ -60,4 +60,22 @@
                }
        }
 
+       public function testGivenEmptyItem_newlineIsReturned() {
+               $generator = new ItemSearchTextGenerator();
+               $item = new Item();
+               $text = $generator->generate( $item );
+
+               $this->assertSame( "\n", $text );
+       }
+
+       public function testGivenUntrimmedPageName_generateDoesNotTrim() {
+               $item = new Item();
+               $item->getFingerprint()->setLabel( 'en', ' untrimmed label ' );
+               $item->getSiteLinkList()->addNewSiteLink( 'enwiki', ' untrimmed 
pageName ' );
+               $generator = new ItemSearchTextGenerator();
+               $text = $generator->generate( $item );
+
+               $this->assertSame( " untrimmed label \n\n untrimmed pageName ", 
$text );
+       }
+
 }

-- 
To view, visit https://gerrit.wikimedia.org/r/188361
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Id2d7a4568d8a1c93ce69e04ab5dc2476d3783e30
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Thiemo Mättig (WMDE) <[email protected]>
Gerrit-Reviewer: Addshore <[email protected]>
Gerrit-Reviewer: Adrian Lang <[email protected]>
Gerrit-Reviewer: Aude <[email protected]>
Gerrit-Reviewer: Hoo man <[email protected]>
Gerrit-Reviewer: Thiemo Mättig (WMDE) <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to