Exemple #1
0
 /**
  * @dataProvider zipProvider
  */
 public function testZip(Zip $zip)
 {
     $this->assertCount(0, $zip->listContents());
     $this->assertInternalType('array', $zip->write('file.txt', 'contents', new Config()));
     $this->assertCount(1, $zip->listContents());
     $this->assertInternalType('array', $zip->write('nested/file.txt', 'contents', new Config()));
     $this->assertCount(3, $zip->listContents());
     $zip->setPathPrefix('nested/');
     $this->assertCount(1, $zip->listContents());
     $zip->setPathPrefix('');
     $result = $zip->read('nested/file.txt');
     $this->assertEquals('contents', $result['contents']);
     $zip->update('nested/file.txt', 'new contents', new Config());
     $result = $zip->read('nested/file.txt');
     $this->assertEquals('new contents', $result['contents']);
     $result = $zip->readStream('nested/file.txt');
     $this->assertArrayHasKey('stream', $result);
     $result = $zip->getSize('nested/file.txt');
     $this->assertEquals(12, $result['size']);
     $result = $zip->getTimestamp('nested/file.txt');
     $this->assertInternalType('integer', $result['timestamp']);
     $result = $zip->getMimetype('nested/file.txt');
     $this->assertEquals('text/plain', $result['mimetype']);
     $zip->deleteDir('nested');
     $this->assertCount(1, $zip->listContents());
     $zip->rename('file.txt', 'renamed.txt');
     $this->assertFalse($zip->has('file.txt'));
     $stream = tmpfile();
     fwrite($stream, 'something');
     rewind($stream);
     $zip->writeStream('streamed.txt', $stream, new Config());
     fclose($stream);
     $this->assertInternalType('array', $zip->has('streamed.txt'));
     $stream = tmpfile();
     fwrite($stream, 'something');
     rewind($stream);
     $zip->updateStream('streamed-other.txt', $stream, new Config());
     fclose($stream);
     $this->assertInternalType('array', $zip->has('streamed-other.txt'));
 }