diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2014-03-12 18:12:23 +0100 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2014-03-12 18:12:23 +0100 |
commit | d417de70fcf39e0a7a15ba780b597914d16ca0f7 (patch) | |
tree | 06ef8c333473660350b995abc03e18f3f85359eb /tests/phpunit/mocks | |
parent | a4edbfa031eb4cd72678051f1510afde4f77951e (diff) |
Update to MediaWiki 1.22.4
Diffstat (limited to 'tests/phpunit/mocks')
-rw-r--r-- | tests/phpunit/mocks/filebackend/MockFSFile.php | 69 | ||||
-rw-r--r-- | tests/phpunit/mocks/filebackend/MockFileBackend.php | 122 | ||||
-rw-r--r-- | tests/phpunit/mocks/media/MockBitmapHandler.php | 92 |
3 files changed, 0 insertions, 283 deletions
diff --git a/tests/phpunit/mocks/filebackend/MockFSFile.php b/tests/phpunit/mocks/filebackend/MockFSFile.php deleted file mode 100644 index e0463281..00000000 --- a/tests/phpunit/mocks/filebackend/MockFSFile.php +++ /dev/null @@ -1,69 +0,0 @@ -<?php -/** - * Mock of a filesystem file. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * http://www.gnu.org/copyleft/gpl.html - * - * @file - * @ingroup FileBackend - */ - -/** - * Class representing an in memory fake file. - * This is intended for unit testing / developement when you do not want - * to hit the filesystem. - * - * It reimplements abstract methods with some hardcoded values. Might - * not be suitable for all tests but is good enough for the parser tests. - * - * @ingroup FileBackend - */ -class MockFSFile extends FSFile { - protected $sha1Base36 = null; // File Sha1Base36 - - public function exists() { - return true; - } - - /** - * August 22 – The theft of the Mona Lisa is discovered in the Louvre." - * @bug 20281 - */ - public function getSize() { - return 1911; - } - - public function getTimestamp() { - return wfTimestamp( TS_MW ); - } - - public function getMimeType() { - return 'text/mock'; - } - - public function getProps( $ext = true ) { - return array( - 'fileExists' => $this->exists(), - 'size' => $this->getSize(), - 'file-mime' => $this->getMimeType(), - 'sha1' => $this->getSha1Base36(), - ); - } - - public function getSha1Base36( $recache = false ) { - return '1234567890123456789012345678901'; - } -} diff --git a/tests/phpunit/mocks/filebackend/MockFileBackend.php b/tests/phpunit/mocks/filebackend/MockFileBackend.php deleted file mode 100644 index 49aefbd1..00000000 --- a/tests/phpunit/mocks/filebackend/MockFileBackend.php +++ /dev/null @@ -1,122 +0,0 @@ -<?php -/** - * Simulation (mock) of a backend storage. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * http://www.gnu.org/copyleft/gpl.html - * - * @file - * @ingroup FileBackend - * @author Antoine Musso <hashar@free.fr> - */ - -/** - * Class simulating a backend store. - * - * @ingroup FileBackend - * @since 1.22 - */ -class MockFileBackend extends FileBackendStore { - - protected $mocked = array(); - - /** Poor man debugging */ - protected function debug( $msg = '' ) { - wfDebug( wfGetCaller() . "$msg\n" ); - } - - public function isPathUsableInternal( $storagePath ) { - return true; - } - - protected function doCreateInternal( array $params ) { - if ( isset( $params['content'] ) ) { - $content = $params['content']; - } else { - $content = 'Default mocked file content'; - } - $this->debug( serialize( $params ) ); - $dst = $params['dst']; - $this->mocked[$dst] = $content; - return Status::newGood(); - } - - protected function doStoreInternal( array $params ) { - $this->debug( serialize( $params ) ); - return $this->doCreateInternal( $params ); - } - - protected function doCopyInternal( array $params ) { - $this->debug( serialize( $params ) ); - $src = $params['src']; - $dst = $params['dst']; - $this->mocked[$dst] = $this->mocked[$src]; - return Status::newGood(); - } - - protected function doDeleteInternal( array $params ) { - $this->debug( serialize( $params ) ); - $src = $params['src']; - unset( $this->mocked[$src] ); - return Status::newGood(); - } - - protected function doGetFileStat( array $params ) { - $src = $params['src']; - if ( array_key_exists( $src, $this->mocked ) ) { - $this->debug( "('$src') found" ); - return array( - 'mtime' => wfTimestamp( TS_MW ), - 'size' => strlen( $this->mocked[$src] ), - # No sha1, stat does not need it. - ); - } else { - $this->debug( "('$src') not found" ); - return false; - } - } - - protected function doGetLocalCopyMulti( array $params ) { - $tmpFiles = array(); // (path => MockFSFile) - - $this->debug( '(' . serialize( $params ) . ')' ); - foreach ( $params['srcs'] as $src ) { - $tmpFiles[$src] = new MockFSFile( - wfTempDir() . '/' . wfRandomString( 32 ) - ); - } - return $tmpFiles; - } - - protected function doDirectoryExists( $container, $dir, array $params ) { - $this->debug(); - return true; - } - - public function getDirectoryListInternal( $container, $dir, array $params ) { - $this->debug(); - return array(); - } - - public function getFileListInternal( $container, $dir, array $params ) { - $this->debug(); - return array(); - } - - protected function directoriesAreVirtual() { - $this->debug(); - return true; - } -} diff --git a/tests/phpunit/mocks/media/MockBitmapHandler.php b/tests/phpunit/mocks/media/MockBitmapHandler.php deleted file mode 100644 index 742b41e4..00000000 --- a/tests/phpunit/mocks/media/MockBitmapHandler.php +++ /dev/null @@ -1,92 +0,0 @@ -<?php -/** - * Fake handler for images. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * http://www.gnu.org/copyleft/gpl.html - * - * @file - * @ingroup Media - */ - -class MockBitmapHandler extends BitmapHandler { - 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 ); - } -} |