summaryrefslogtreecommitdiff
path: root/tests/phpunit/mocks
diff options
context:
space:
mode:
authorPierre Schmitz <pierre@archlinux.de>2014-04-25 06:26:49 +0200
committerPierre Schmitz <pierre@archlinux.de>2014-04-25 06:26:49 +0200
commit2e44b49a2db3026050b136de9b00f749dd3ff939 (patch)
treeef048f4db79a93c25cfc86319264aa7ae2a4ae0b /tests/phpunit/mocks
parent9441dde8bfb95277df073717ed7817dced40f948 (diff)
Update to MediaWiki 1.22.6
Diffstat (limited to 'tests/phpunit/mocks')
-rw-r--r--tests/phpunit/mocks/filebackend/MockFSFile.php69
-rw-r--r--tests/phpunit/mocks/filebackend/MockFileBackend.php122
-rw-r--r--tests/phpunit/mocks/media/MockBitmapHandler.php92
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 );
- }
-}