/** * @dataProvider providerZipfileOK * preserveGlobalState disabled * runInSeparateProcess */ public function testZipfile($options, $files, $description) { $options = array_merge($options, array('outstream' => $this->outstream)); $zip = new ZipStreamer($options); foreach ($files as $file) { if (File::DIR == $file->type) { $zip->addEmptyDir($file->filename, array('timestamp' => $file->date)); } else { $stream = fopen('php://memory', 'r+'); fwrite($stream, $file->data); rewind($stream); $zip->addFileFromStream($stream, $file->filename, array('timestamp' => $file->date)); fclose($stream); } } $zip->finalize(); $this->assertOutputZipfileOK($files, $options); }