Check that the directory cache exists

This commit is contained in:
Francis Besset 2011-09-10 18:51:04 +02:00
parent 5dc84ef088
commit d0cc3e8bd2
5 changed files with 66 additions and 5 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
vendor

View File

@ -72,6 +72,10 @@ class Cache
static public function setDirectory($directory) static public function setDirectory($directory)
{ {
if (!is_dir($directory)) {
mkdir($directory, 0777, true);
}
self::iniSet('soap.wsdl_cache_dir', $directory); self::iniSet('soap.wsdl_cache_dir', $directory);
} }

View File

@ -36,11 +36,19 @@ class SoapRequestTest extends \PHPUnit_Framework_TestCase
public function testSetDirectory() public function testSetDirectory()
{ {
Cache::setDirectory('/foo'); \vfsStream::setup('Fixtures');
$this->assertEquals('/foo', Cache::getDirectory());
Cache::setDirectory('/bar'); $this->assertFalse(\vfsStreamWrapper::getRoot()->hasChild('foo'));
$this->assertEquals('/bar', Cache::getDirectory()); $dir = \vfsStream::url('Fixtures/foo');
Cache::setDirectory($dir);
$this->assertEquals($dir, Cache::getDirectory());
$this->assertTrue(\vfsStreamWrapper::getRoot()->hasChild('foo'));
$this->assertFalse(\vfsStreamWrapper::getRoot()->hasChild('bar'));
$dir = \vfsStream::url('Fixtures/bar');
Cache::setDirectory($dir);
$this->assertEquals($dir, Cache::getDirectory());
$this->assertTrue(\vfsStreamWrapper::getRoot()->hasChild('bar'));
} }
public function testSetLifetime() public function testSetLifetime()

View File

@ -16,6 +16,13 @@ spl_autoload_register(function($class) {
if (file_exists($path) && is_readable($path)) { if (file_exists($path) && is_readable($path)) {
require_once $path; require_once $path;
return true;
}
} elseif (0 === strpos($class, 'vfsStream')) {
$path = __DIR__.'/../vendor/vfsStream/src/main/php/org/bovigo/vfs/'.$class.'.php';
if (file_exists($path) && is_readable($path)) {
require_once $path;
return true; return true;
} }
} }

41
vendors.php Executable file
View File

@ -0,0 +1,41 @@
#!/usr/bin/env php
<?php
/*
* This file is part of the BeSimpleSoapCommon.
*
* (c) Christian Kerl <christian-kerl@web.de>
* (c) Francis Besset <francis.besset@gmail.com>
*
* This source file is subject to the MIT license that is bundled
* with this source code in the file LICENSE.
*/
/*
CAUTION: This file installs the dependencies needed to run the BeSimpleSoapCommon test suite.
https://github.com/BeSimple/BeSimpleSoapCommon
*/
if (!is_dir($vendorDir = dirname(__FILE__).'/vendor')) {
mkdir($vendorDir, 0777, true);
}
$deps = array(
array('vfsStream', 'https://github.com/mikey179/vfsStream.git', 'RELEASE-0.10.1'),
);
foreach ($deps as $dep) {
list($name, $url, $rev) = $dep;
echo "> Installing/Updating $name\n";
$installDir = $vendorDir.'/'.$name;
if (!is_dir($installDir)) {
system(sprintf('git clone %s %s', escapeshellarg($url), escapeshellarg($installDir)));
}
system(sprintf('cd %s && git fetch origin && git reset --hard %s', escapeshellarg($installDir), escapeshellarg($rev)));
}