102 lines
2.7 KiB
PHP
102 lines
2.7 KiB
PHP
<?php
|
|
use Chumper\Zipper\Repositories\ZipRepository;
|
|
|
|
/**
|
|
* Created by JetBrains PhpStorm.
|
|
* User: Nils
|
|
* Date: 28.08.13
|
|
* Time: 20:57
|
|
* To change this template use File | Settings | File Templates.
|
|
*/
|
|
|
|
class ZipRepositoryTest extends PHPUnit_Framework_TestCase
|
|
{
|
|
|
|
/**
|
|
* @var ZipRepository
|
|
*/
|
|
public $zip;
|
|
|
|
/**
|
|
* @var \Mockery\Mock
|
|
*/
|
|
public $mock;
|
|
|
|
public function setUp()
|
|
{
|
|
$this->mock = Mockery::mock(new ZipArchive);
|
|
$this->zip = new ZipRepository('foo', true, $this->mock);
|
|
}
|
|
|
|
public function testMake()
|
|
{
|
|
$zip = new ZipRepository('foo.zip', true);
|
|
$this->assertFalse($zip->fileExists('foo'));
|
|
}
|
|
|
|
public function testAddFile()
|
|
{
|
|
$this->mock->shouldReceive('addFile')->once()->with('bar', 'bar');
|
|
$this->mock->shouldReceive('addFile')->once()->with('bar', 'foo/bar');
|
|
$this->mock->shouldReceive('addFile')->once()->with('foo/bar', 'bar');
|
|
|
|
$this->zip->addFile('bar', 'bar');
|
|
$this->zip->addFile('bar', 'foo/bar');
|
|
$this->zip->addFile('foo/bar', 'bar');
|
|
}
|
|
|
|
public function testRemoveFile()
|
|
{
|
|
$this->mock->shouldReceive('deleteName')->once()->with('bar');
|
|
$this->mock->shouldReceive('deleteName')->once()->with('foo/bar');
|
|
|
|
$this->zip->removeFile('bar');
|
|
$this->zip->removeFile('foo/bar');
|
|
}
|
|
|
|
public function testGetFileContent()
|
|
{
|
|
$this->mock->shouldReceive('getFromName')->once()
|
|
->with('bar')->andReturn('foo');
|
|
$this->mock->shouldReceive('getFromName')->once()
|
|
->with('foo/bar')->andReturn('baz');
|
|
|
|
$this->assertEquals('foo', $this->zip->getFileContent('bar'));
|
|
$this->assertEquals('baz', $this->zip->getFileContent('foo/bar'));
|
|
}
|
|
|
|
public function testGetFileStream()
|
|
{
|
|
$this->mock->shouldReceive('getStream')->once()
|
|
->with('bar')->andReturn('foo');
|
|
$this->mock->shouldReceive('getStream')->once()
|
|
->with('foo/bar')->andReturn('baz');
|
|
|
|
$this->assertEquals('foo', $this->zip->getFileStream('bar'));
|
|
$this->assertEquals('baz', $this->zip->getFileStream('foo/bar'));
|
|
}
|
|
|
|
public function testFileExists()
|
|
{
|
|
$this->mock->shouldReceive('locateName')->once()
|
|
->with('bar')->andReturn(true);
|
|
$this->mock->shouldReceive('locateName')->once()
|
|
->with('foo/bar')->andReturn(false);
|
|
|
|
$this->assertTrue($this->zip->fileExists('bar'));
|
|
$this->assertFalse($this->zip->fileExists('foo/bar'));
|
|
}
|
|
|
|
public function testClose()
|
|
{
|
|
$this->zip->close();
|
|
}
|
|
|
|
protected function tearDown()
|
|
{
|
|
Mockery::close();
|
|
}
|
|
|
|
|
|
}
|