vfsStreamContainerIteratorTestCase.php in Zircon Profile 8
File
vendor/mikey179/vfsStream/src/test/php/org/bovigo/vfs/vfsStreamContainerIteratorTestCase.php
View source
<?php
namespace org\bovigo\vfs;
class vfsStreamContainerIteratorTestCase extends \PHPUnit_Framework_TestCase {
private $dir;
private $mockChild1;
private $mockChild2;
public function setUp() {
$this->dir = new vfsStreamDirectory('foo');
$this->mockChild1 = $this
->getMock('org\\bovigo\\vfs\\vfsStreamContent');
$this->mockChild1
->expects($this
->any())
->method('getName')
->will($this
->returnValue('bar'));
$this->dir
->addChild($this->mockChild1);
$this->mockChild2 = $this
->getMock('org\\bovigo\\vfs\\vfsStreamContent');
$this->mockChild2
->expects($this
->any())
->method('getName')
->will($this
->returnValue('baz'));
$this->dir
->addChild($this->mockChild2);
}
public function tearDown() {
vfsStream::enableDotfiles();
}
public function provideSwitchWithExpectations() {
return array(
array(
function () {
vfsStream::disableDotfiles();
},
array(),
),
array(
function () {
vfsStream::enableDotfiles();
},
array(
'.',
'..',
),
),
);
}
private function getDirName($dir) {
if (is_string($dir)) {
return $dir;
}
return $dir
->getName();
}
public function iteration(\Closure $dotFilesSwitch, array $dirs) {
$dirs[] = $this->mockChild1;
$dirs[] = $this->mockChild2;
$dotFilesSwitch();
$dirIterator = $this->dir
->getIterator();
foreach ($dirs as $dir) {
$this
->assertEquals($this
->getDirName($dir), $dirIterator
->key());
$this
->assertTrue($dirIterator
->valid());
if (!is_string($dir)) {
$this
->assertSame($dir, $dirIterator
->current());
}
$dirIterator
->next();
}
$this
->assertFalse($dirIterator
->valid());
$this
->assertNull($dirIterator
->key());
$this
->assertNull($dirIterator
->current());
}
}