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