[MediaWiki-commits] [Gerrit] mediawiki...PageImages[master]: Provide test case for getPageImageCandidates

2016-12-21 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/325458 )

Change subject: Provide test case for getPageImageCandidates
..


Provide test case for getPageImageCandidates

Additional changes:
* Add test @covers statements for existing tests for code
coverage purposes

Change-Id: I1a0d2d331c79df3e5505ae54d27f23e1cb5b910c
---
M tests/phpunit/LinksUpdateHookHandlerTest.php
1 file changed, 64 insertions(+), 3 deletions(-)

Approvals:
  Pmiazga: Looks good to me, but someone else must approve
  jenkins-bot: Verified
  Phuedx: Looks good to me, approved



diff --git a/tests/phpunit/LinksUpdateHookHandlerTest.php 
b/tests/phpunit/LinksUpdateHookHandlerTest.php
index 08a70d4..919f1a6 100644
--- a/tests/phpunit/LinksUpdateHookHandlerTest.php
+++ b/tests/phpunit/LinksUpdateHookHandlerTest.php
@@ -6,9 +6,10 @@
 use PageImages;
 use PageImages\Hooks\LinksUpdateHookHandler;
 use ParserOutput;
-use PHPUnit_Framework_TestCase;
+use MediaWikiTestCase;
 use RepoGroup;
 use TestingAccessWrapper;
+use Title;
 
 /**
  * @covers PageImages\Hooks\LinksUpdateHookHandler
@@ -18,7 +19,7 @@
  * @license WTFPL 2.0
  * @author Thiemo Mättig
  */
-class LinksUpdateHookHandlerTest extends PHPUnit_Framework_TestCase {
+class LinksUpdateHookHandlerTest extends MediaWikiTestCase {
 
public function tearDown() {
// remove mock added in testGetMetadata()
@@ -28,18 +29,54 @@
 
/**
 * @param array $images
+* @param [false|array] $images in lead section. (optional)
 * @return LinksUpdate
 */
-   private function getLinksUpdate( array $images ) {
+   private function getLinksUpdate( array $images, $leadImages = false ) {
$parserOutput = new ParserOutput();
$parserOutput->setExtensionData( 'pageImages', $images );
+   $parserOutputLead = new ParserOutput();
+   $parserOutputLead->setExtensionData( 'pageImages', $leadImages 
|| $images );
+
+   $rev = $this->getMockBuilder( 'Revision' )
+   ->disableOriginalConstructor()
+   ->getMock();
+
+   $content = $this->getMockBuilder( 'AbstractContent' )
+   ->disableOriginalConstructor()
+   ->getMock();
+
+   $sectionContent = $this->getMockBuilder( 'AbstractContent' )
+   ->disableOriginalConstructor()
+   ->getMock();
 
$linksUpdate = $this->getMockBuilder( 'LinksUpdate' )
->disableOriginalConstructor()
->getMock();
+
+   $linksUpdate->expects( $this->any() )
+   ->method( 'getTitle' )
+   ->will( $this->returnValue( new Title( 
'LinksUpdateHandlerTest' ) ) );
+
$linksUpdate->expects( $this->any() )
->method( 'getParserOutput' )
->will( $this->returnValue( $parserOutput ) );
+
+   $linksUpdate->expects( $this->any() )
+   ->method( 'getRevision' )
+   ->will( $this->returnValue( $rev ) );
+
+   $rev->expects( $this->any() )
+   ->method( 'getContent' )
+   ->will( $this->returnValue( $content ) );
+
+   $content->expects( $this->any() )
+   ->method( 'getSection' )
+   ->will( $this->returnValue( $sectionContent ) );
+
+   $sectionContent->expects( $this->any() )
+   ->method( 'getParserOutput' )
+   ->will( $this->returnValue( $parserOutputLead ) );
 
return $linksUpdate;
}
@@ -69,6 +106,7 @@
 
/**
 * @dataProvider provideDoLinksUpdate
+* @covers LinksUpdateHookHandler::doLinksUpdate
 * @param $images
 * @param $expectedFreeFileName
 * @param $expectedNonFreeFileName
@@ -154,6 +192,27 @@
}
 
/**
+* @covers LinksUpdateHookHandler::getPageImageCandidates
+*/
+   public function testGetPageImageCandidates() {
+   $candidates = [
+   [ 'filename' => 'A.jpg', 'score' => 100, 
'isFree' => false ],
+   [ 'filename' => 'B.jpg', 'score' => 90, 
'isFree' => false ],
+   ];
+   $linksUpdate = $this->getLinksUpdate( $candidates, array_slice( 
$candidates, 0, 1 ) );
+
+   // should get without lead.
+   $handler = new LinksUpdateHookHandler();
+   $this->setMwGlobals( 'wgPageImagesLeadSectionOnly', false );
+   $images = $handler->getPageImageCandidates( $linksUpdate );
+   $this->assertTrue( count( $images ) === 2, 'All images are 
returned.' );
+
+   $this->setMwGlobals( 'wgPa

[MediaWiki-commits] [Gerrit] mediawiki...PageImages[master]: Provide test case for getPageImageCandidates

2016-12-05 Thread Jdlrobson (Code Review)
Jdlrobson has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/325458

Change subject: Provide test case for getPageImageCandidates
..

Provide test case for getPageImageCandidates

Change-Id: I1a0d2d331c79df3e5505ae54d27f23e1cb5b910c
---
M tests/phpunit/LinksUpdateHookHandlerTest.php
1 file changed, 60 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/PageImages 
refs/changes/58/325458/1

diff --git a/tests/phpunit/LinksUpdateHookHandlerTest.php 
b/tests/phpunit/LinksUpdateHookHandlerTest.php
index 5655633..b43f6bb 100644
--- a/tests/phpunit/LinksUpdateHookHandlerTest.php
+++ b/tests/phpunit/LinksUpdateHookHandlerTest.php
@@ -6,10 +6,10 @@
 use PageImages;
 use PageImages\Hooks\LinksUpdateHookHandler;
 use ParserOutput;
-use PHPUnit_Framework_TestCase;
+use MediaWikiTestCase;
 use RepoGroup;
 use TestingAccessWrapper;
-
+use Title;
 
 /**
  * @covers PageImages\Hooks\LinksUpdateHookHandler
@@ -19,7 +19,7 @@
  * @license WTFPL 2.0
  * @author Thiemo Mättig
  */
-class LinksUpdateHookHandlerTest extends PHPUnit_Framework_TestCase {
+class LinksUpdateHookHandlerTest extends MediaWikiTestCase {
 
public function tearDown() {
// remove mock added in testGetMetadata()
@@ -29,18 +29,54 @@
 
/**
 * @param array $images
+* @param [false|array] $images in lead section. (optional)
 * @return LinksUpdate
 */
-   private function getLinksUpdate( array $images ) {
+   private function getLinksUpdate( array $images, $leadImages = false ) {
$parserOutput = new ParserOutput();
$parserOutput->setExtensionData( 'pageImages', $images );
+   $parserOutputLead = new ParserOutput();
+   $parserOutputLead->setExtensionData( 'pageImages', $leadImages 
|| $images );
+
+   $rev = $this->getMockBuilder( 'Revision' )
+   ->disableOriginalConstructor()
+   ->getMock();
+
+   $content = $this->getMockBuilder( 'AbstractContent' )
+   ->disableOriginalConstructor()
+   ->getMock();
+
+   $sectionContent = $this->getMockBuilder( 'AbstractContent' )
+   ->disableOriginalConstructor()
+   ->getMock();
 
$linksUpdate = $this->getMockBuilder( 'LinksUpdate' )
->disableOriginalConstructor()
->getMock();
+
+   $linksUpdate->expects( $this->any() )
+   ->method( 'getTitle' )
+   ->will( $this->returnValue( new Title( 
'LinksUpdateHandlerTest' ) ) );
+
$linksUpdate->expects( $this->any() )
->method( 'getParserOutput' )
->will( $this->returnValue( $parserOutput ) );
+
+   $linksUpdate->expects( $this->any() )
+   ->method( 'getRevision' )
+   ->will( $this->returnValue( $rev ) );
+
+   $rev->expects( $this->any() )
+   ->method( 'getContent' )
+   ->will( $this->returnValue( $content ) );
+
+   $content->expects( $this->any() )
+   ->method( 'getSection' )
+   ->will( $this->returnValue( $sectionContent ) );
+
+   $sectionContent->expects( $this->any() )
+   ->method( 'getParserOutput' )
+   ->will( $this->returnValue( $parserOutputLead ) );
 
return $linksUpdate;
}
@@ -155,6 +191,26 @@
}
 
/**
+*/
+   public function testGetPageImageCandidates() {
+   $candidates = [
+   [ 'filename' => 'A.jpg', 'score' => 100, 
'isFree' => false ],
+   [ 'filename' => 'B.jpg', 'score' => 90, 
'isFree' => false ],
+   ];
+   $linksUpdate = $this->getLinksUpdate( $candidates, array_slice( 
$candidates, 0, 1 ) );
+
+   // should get without lead.
+   $handler = new LinksUpdateHookHandler();
+   $this->setMwGlobals( 'wgPageImagesLeadSectionOnly', false );
+   $images = $handler->getPageImageCandidates( $linksUpdate );
+   $this->assertTrue( count( $images ) === 2, 'All images are 
returned.' );
+
+   $this->setMwGlobals( 'wgPageImagesLeadSectionOnly', true );
+   $images = $handler->getPageImageCandidates( $linksUpdate );
+   $this->assertTrue( count( $images ) === 1, 'Only lead images 
are returned.' );
+   }
+
+   /**
 * @dataProvider provideGetScore
 */
public function testGetScore( $image, $scoreFromTable, $position, 
$expected ) {

-- 
To view, visit https://gerrit.wikimedia.org/r/325458
To unsubscribe, v