Addshore has uploaded a new change for review.
https://gerrit.wikimedia.org/r/95771
Change subject: Split mocks/media/MockBitmaphandler file
......................................................................
Split mocks/media/MockBitmaphandler file
Change-Id: Idc231e8fd1f1ad1e4173e7c0bddfbec4efaad96b
---
M tests/phpunit/mocks/media/MockBitmapHandler.php
A tests/phpunit/mocks/media/MockImageHandler.php
A tests/phpunit/mocks/media/MockSvgHandler.php
3 files changed, 67 insertions(+), 62 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core
refs/changes/71/95771/1
diff --git a/tests/phpunit/mocks/media/MockBitmapHandler.php
b/tests/phpunit/mocks/media/MockBitmapHandler.php
index 742b41e..8f4c370 100644
--- a/tests/phpunit/mocks/media/MockBitmapHandler.php
+++ b/tests/phpunit/mocks/media/MockBitmapHandler.php
@@ -25,68 +25,8 @@
function doTransform( $image, $dstPath, $dstUrl, $params, $flags = 0 ) {
return MockImageHandler::doFakeTransform( $this, $image,
$dstPath, $dstUrl, $params, $flags );
}
+
function doClientImage( $image, $scalerParams ) {
return $this->getClientScalingThumbnailImage( $image,
$scalerParams );
}
-}
-class MockSvgHandler extends SvgHandler {
- function doTransform( $image, $dstPath, $dstUrl, $params, $flags = 0 ) {
- return MockImageHandler::doFakeTransform( $this, $image,
$dstPath, $dstUrl, $params, $flags );
- }
-}
-/**
- * Mock handler for images.
- *
- * This is really intended for unit testing.
- *
- * @ingroup Media
- */
-class MockImageHandler {
-
- /**
- * Override BitmapHandler::doTransform() making sure we do not generate
- * a thumbnail at all. That is merely returning a ThumbnailImage that
- * will be consumed by the unit test. There is no need to create a real
- * thumbnail on the filesystem.
- */
- static function doFakeTransform( $that, $image, $dstPath, $dstUrl,
$params, $flags = 0 ) {
- # Example of what we receive:
- # $image: LocalFile
- # $dstPath: /tmp/transform_7d0a7a2f1a09-1.jpg
- # $dstUrl :
http://example.com/images/thumb/0/09/Bad.jpg/320px-Bad.jpg
- # $params: width: 320, descriptionUrl
http://trunk.dev/wiki/File:Bad.jpg
-
- $that->normaliseParams( $image, $params );
-
- $scalerParams = array(
- # The size to which the image will be resized
- 'physicalWidth' => $params['physicalWidth'],
- 'physicalHeight' => $params['physicalHeight'],
- 'physicalDimensions' =>
"{$params['physicalWidth']}x{$params['physicalHeight']}",
- # The size of the image on the page
- 'clientWidth' => $params['width'],
- 'clientHeight' => $params['height'],
- # Comment as will be added to the EXIF of the thumbnail
- 'comment' => isset( $params['descriptionUrl'] ) ?
- "File source: {$params['descriptionUrl']}" : '',
- # Properties of the original image
- 'srcWidth' => $image->getWidth(),
- 'srcHeight' => $image->getHeight(),
- 'mimeType' => $image->getMimeType(),
- 'dstPath' => $dstPath,
- 'dstUrl' => $dstUrl,
- );
-
- # In some cases, we do not bother generating a thumbnail.
- if ( !$image->mustRender() &&
- $scalerParams['physicalWidth'] ==
$scalerParams['srcWidth']
- && $scalerParams['physicalHeight'] ==
$scalerParams['srcHeight']
- ) {
- wfDebug( __METHOD__ . ": returning unscaled image\n" );
- // getClientScalingThumbnailImage is protected
- return $that->doClientImage( $image, $scalerParams );
- }
-
- return new ThumbnailImage( $image, $dstUrl, false, $params );
- }
-}
+}
\ No newline at end of file
diff --git a/tests/phpunit/mocks/media/MockImageHandler.php
b/tests/phpunit/mocks/media/MockImageHandler.php
new file mode 100644
index 0000000..6502f34
--- /dev/null
+++ b/tests/phpunit/mocks/media/MockImageHandler.php
@@ -0,0 +1,58 @@
+<?php
+
+/**
+ * Mock handler for images.
+ *
+ * This is really intended for unit testing.
+ *
+ * @ingroup Media
+ */
+class MockImageHandler {
+
+ /**
+ * Override BitmapHandler::doTransform() making sure we do not generate
+ * a thumbnail at all. That is merely returning a ThumbnailImage that
+ * will be consumed by the unit test. There is no need to create a real
+ * thumbnail on the filesystem.
+ */
+ static function doFakeTransform( $that, $image, $dstPath, $dstUrl,
$params, $flags = 0 ) {
+ # Example of what we receive:
+ # $image: LocalFile
+ # $dstPath: /tmp/transform_7d0a7a2f1a09-1.jpg
+ # $dstUrl :
http://example.com/images/thumb/0/09/Bad.jpg/320px-Bad.jpg
+ # $params: width: 320, descriptionUrl
http://trunk.dev/wiki/File:Bad.jpg
+
+ $that->normaliseParams( $image, $params );
+
+ $scalerParams = array(
+ # The size to which the image will be resized
+ 'physicalWidth' => $params['physicalWidth'],
+ 'physicalHeight' => $params['physicalHeight'],
+ 'physicalDimensions' =>
"{$params['physicalWidth']}x{$params['physicalHeight']}",
+ # The size of the image on the page
+ 'clientWidth' => $params['width'],
+ 'clientHeight' => $params['height'],
+ # Comment as will be added to the EXIF of the thumbnail
+ 'comment' => isset( $params['descriptionUrl'] ) ?
+ "File source:
{$params['descriptionUrl']}" : '',
+ # Properties of the original image
+ 'srcWidth' => $image->getWidth(),
+ 'srcHeight' => $image->getHeight(),
+ 'mimeType' => $image->getMimeType(),
+ 'dstPath' => $dstPath,
+ 'dstUrl' => $dstUrl,
+ );
+
+ # In some cases, we do not bother generating a thumbnail.
+ if ( !$image->mustRender() &&
+ $scalerParams['physicalWidth'] ==
$scalerParams['srcWidth']
+ && $scalerParams['physicalHeight'] ==
$scalerParams['srcHeight']
+ ) {
+ wfDebug( __METHOD__ . ": returning unscaled image\n" );
+ // getClientScalingThumbnailImage is protected
+ return $that->doClientImage( $image, $scalerParams );
+ }
+
+ return new ThumbnailImage( $image, $dstUrl, false, $params );
+ }
+}
\ No newline at end of file
diff --git a/tests/phpunit/mocks/media/MockSvgHandler.php
b/tests/phpunit/mocks/media/MockSvgHandler.php
new file mode 100644
index 0000000..b48b1a7
--- /dev/null
+++ b/tests/phpunit/mocks/media/MockSvgHandler.php
@@ -0,0 +1,7 @@
+<?php
+
+class MockSvgHandler extends SvgHandler {
+ function doTransform( $image, $dstPath, $dstUrl, $params, $flags = 0 ) {
+ return MockImageHandler::doFakeTransform( $this, $image,
$dstPath, $dstUrl, $params, $flags );
+ }
+}
\ No newline at end of file
--
To view, visit https://gerrit.wikimedia.org/r/95771
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Idc231e8fd1f1ad1e4173e7c0bddfbec4efaad96b
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Addshore <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits