From ee2834a16933470386fe95243537715ddada60ac Mon Sep 17 00:00:00 2001 From: Alexey Prilipko Date: Sat, 9 Jun 2012 16:48:04 +1100 Subject: [PATCH] Add Mock for RemoteFileSystem --- .../Test/Mock/RemoteFilesystemMock.php | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 tests/Composer/Test/Mock/RemoteFilesystemMock.php diff --git a/tests/Composer/Test/Mock/RemoteFilesystemMock.php b/tests/Composer/Test/Mock/RemoteFilesystemMock.php new file mode 100644 index 000000000..118232359 --- /dev/null +++ b/tests/Composer/Test/Mock/RemoteFilesystemMock.php @@ -0,0 +1,38 @@ + + * Jordi Boggiano + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Composer\Test\Mock; + +use Composer\Util\RemoteFilesystem; + +/** + * Remote filesystem mock + */ +class RemoteFilesystemMock extends RemoteFilesystem +{ + /** + * @param array $contentMap associative array of locations and content + */ + public function __construct(array $contentMap) + { + $this->contentMap = $contentMap; + } + + public function getContents($originUrl, $fileUrl, $progress = true) + { + if(!empty($this->contentMap[$fileUrl])) + return $this->contentMap[$fileUrl]; + + throw new \Composer\Downloader\TransportException('The "'.$fileUrl.'" file could not be downloaded (NOT FOUND)', 404); + } + +}