[Filesystem] added exists method
This commit is contained in:
parent
7c91ee5755
commit
38cad9d415
@ -66,6 +66,24 @@ class Filesystem
|
|||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks the existence of files or directories.
|
||||||
|
*
|
||||||
|
* @param string|array|\Traversable $files A filename, an array of files, or a \Traversable instance to check
|
||||||
|
*
|
||||||
|
* @return Boolean true if the file exists, false otherwise
|
||||||
|
*/
|
||||||
|
public function exists($files)
|
||||||
|
{
|
||||||
|
foreach ($this->toIterator($files) as $file) {
|
||||||
|
if (!file_exists($file)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates empty files.
|
* Creates empty files.
|
||||||
*
|
*
|
||||||
|
@ -313,6 +313,56 @@ class FilesystemTest extends \PHPUnit_Framework_TestCase
|
|||||||
$this->assertTrue(!is_dir($basePath));
|
$this->assertTrue(!is_dir($basePath));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testFilesExists()
|
||||||
|
{
|
||||||
|
$basePath = $this->workspace.DIRECTORY_SEPARATOR.'directory'.DIRECTORY_SEPARATOR;
|
||||||
|
|
||||||
|
mkdir($basePath);
|
||||||
|
touch($basePath.'file1');
|
||||||
|
mkdir($basePath.'folder');
|
||||||
|
|
||||||
|
$this->assertTrue($this->filesystem->exists($basePath.'file1'));
|
||||||
|
$this->assertTrue($this->filesystem->exists($basePath.'folder'));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testFilesExistsTraversableObjectOfFilesAndDirectories()
|
||||||
|
{
|
||||||
|
$basePath = $this->workspace.DIRECTORY_SEPARATOR;
|
||||||
|
|
||||||
|
mkdir($basePath.'dir');
|
||||||
|
touch($basePath.'file');
|
||||||
|
|
||||||
|
$files = new \ArrayObject(array(
|
||||||
|
$basePath.'dir', $basePath.'file'
|
||||||
|
));
|
||||||
|
|
||||||
|
$this->assertTrue($this->filesystem->exists($files));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testFilesNotExistsTraversableObjectOfFilesAndDirectories()
|
||||||
|
{
|
||||||
|
$basePath = $this->workspace.DIRECTORY_SEPARATOR;
|
||||||
|
|
||||||
|
mkdir($basePath.'dir');
|
||||||
|
touch($basePath.'file');
|
||||||
|
touch($basePath.'file2');
|
||||||
|
|
||||||
|
$files = new \ArrayObject(array(
|
||||||
|
$basePath.'dir', $basePath.'file', $basePath.'file2'
|
||||||
|
));
|
||||||
|
|
||||||
|
unlink($basePath.'file');
|
||||||
|
|
||||||
|
$this->assertFalse($this->filesystem->exists($files));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testInvalidFileNotExists()
|
||||||
|
{
|
||||||
|
$basePath = $this->workspace.DIRECTORY_SEPARATOR.'directory'.DIRECTORY_SEPARATOR;
|
||||||
|
|
||||||
|
$this->assertFalse($this->filesystem->exists($basePath.time()));
|
||||||
|
}
|
||||||
|
|
||||||
public function testChmodChangesFileMode()
|
public function testChmodChangesFileMode()
|
||||||
{
|
{
|
||||||
$this->markAsSkippedIfChmodIsMissing();
|
$this->markAsSkippedIfChmodIsMissing();
|
||||||
@ -421,18 +471,18 @@ class FilesystemTest extends \PHPUnit_Framework_TestCase
|
|||||||
$this->assertTrue(is_link($link));
|
$this->assertTrue(is_link($link));
|
||||||
$this->assertEquals($file, readlink($link));
|
$this->assertEquals($file, readlink($link));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @depends testSymlink
|
* @depends testSymlink
|
||||||
*/
|
*/
|
||||||
public function testRemoveSymlink()
|
public function testRemoveSymlink()
|
||||||
{
|
{
|
||||||
$this->markAsSkippedIfSymlinkIsMissing();
|
$this->markAsSkippedIfSymlinkIsMissing();
|
||||||
|
|
||||||
$link = $this->workspace.DIRECTORY_SEPARATOR.'link';
|
$link = $this->workspace.DIRECTORY_SEPARATOR.'link';
|
||||||
|
|
||||||
$this->filesystem->remove($link);
|
$this->filesystem->remove($link);
|
||||||
|
|
||||||
$this->assertTrue(!is_link($link));
|
$this->assertTrue(!is_link($link));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user