/**
  * @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);
 }