Addshore has submitted this change and it was merged. Change subject: Add data provider to split MediaHandlerTest::testFitBoxWidth ......................................................................
Add data provider to split MediaHandlerTest::testFitBoxWidth Change-Id: Ie1cf501a6a0c8e688aca1a5577a293f526398dd3 --- M tests/phpunit/includes/media/MediaHandlerTest.php 1 file changed, 33 insertions(+), 35 deletions(-) Approvals: Addshore: Looks good to me, approved diff --git a/tests/phpunit/includes/media/MediaHandlerTest.php b/tests/phpunit/includes/media/MediaHandlerTest.php index d8cfcc4..5fa609a 100644 --- a/tests/phpunit/includes/media/MediaHandlerTest.php +++ b/tests/phpunit/includes/media/MediaHandlerTest.php @@ -7,50 +7,48 @@ /** * @covers MediaHandler::fitBoxWidth - * @todo split into a dataprovider and test method + * + * @dataProvider provideTestFitBoxWidth */ - public function testFitBoxWidth() { - $vals = array( - array( - 'width' => 50, - 'height' => 50, - 'tests' => array( + public function testFitBoxWidth( $width, $height, $max, $expected ) { + $y = round( $expected * $height / $width ); + $result = MediaHandler::fitBoxWidth( $width, $height, $max ); + $y2 = round( $result * $height / $width ); + $this->assertEquals( $expected, + $result, + "($width, $height, $max) wanted: {$expected}x$y, got: {z$result}x$y2" ); + } + + public function provideTestFitBoxWidth() { + return array_merge( + $this->provideTestFitBoxWidthSingle( 50, 50, array( 50 => 50, 17 => 17, - 18 => 18 ) ), - array( - 'width' => 366, - 'height' => 300, - 'tests' => array( + 18 => 18 ) + ), + $this->provideTestFitBoxWidthSingle( 366, 300, array( 50 => 61, 17 => 21, - 18 => 22 ) ), - array( - 'width' => 300, - 'height' => 366, - 'tests' => array( + 18 => 22 ) + ), + $this->provideTestFitBoxWidthSingle( 300, 366, array( 50 => 41, 17 => 14, - 18 => 15 ) ), - array( - 'width' => 100, - 'height' => 400, - 'tests' => array( + 18 => 15 ) + ), + $this->provideTestFitBoxWidthSingle( 100, 400, array( 50 => 12, 17 => 4, - 18 => 4 ) ) ); - foreach ( $vals as $row ) { - $tests = $row['tests']; - $height = $row['height']; - $width = $row['width']; - foreach ( $tests as $max => $expected ) { - $y = round( $expected * $height / $width ); - $result = MediaHandler::fitBoxWidth( $width, $height, $max ); - $y2 = round( $result * $height / $width ); - $this->assertEquals( $expected, - $result, - "($width, $height, $max) wanted: {$expected}x$y, got: {$result}x$y2" ); - } + 18 => 4 ) + ) + ); + } + + private function provideTestFitBoxWidthSingle( $width, $height, $tests ) { + $result = array(); + foreach ( $tests as $max => $expected ) { + $result[] = array( $width, $height, $max, $expected ); } + return $result; } } -- To view, visit https://gerrit.wikimedia.org/r/182470 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ie1cf501a6a0c8e688aca1a5577a293f526398dd3 Gerrit-PatchSet: 3 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: M4tx <m...@m4tx.pl> Gerrit-Reviewer: Addshore <addshorew...@gmail.com> Gerrit-Reviewer: Hashar <has...@free.fr> Gerrit-Reviewer: MaxSem <maxsem.w...@gmail.com> Gerrit-Reviewer: Nemo bis <federicol...@tiscali.it> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits