Esempio n. 1
0
 /**
  * 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.
  * @param ImageHandler $that
  * @param File $image
  * @param string $dstPath
  * @param string $dstUrl
  * @param array $params
  * @param int $flags
  * @return ThumbnailImage
  */
 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 = ['physicalWidth' => $params['physicalWidth'], 'physicalHeight' => $params['physicalHeight'], 'physicalDimensions' => "{$params['physicalWidth']}x{$params['physicalHeight']}", 'clientWidth' => $params['width'], 'clientHeight' => $params['height'], 'comment' => isset($params['descriptionUrl']) ? "File source: {$params['descriptionUrl']}" : '', '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);
 }