Esempio n. 1
0
 /**
  *
  */
 public function testAddDirectory()
 {
     // create test files
     $dir = sys_get_temp_dir() . '/testarchive';
     $zipfile = sys_get_temp_dir() . '/testarchive.zip';
     mkdir($dir);
     file_put_contents($dir . '/one.txt', 'one1');
     file_put_contents($dir . '/two', 'two2');
     mkdir($dir . '/sub');
     file_put_contents($dir . '/sub/three.txt', 'three3');
     $zip = new Archive();
     $zip->open($zipfile, \ZipArchive::CREATE);
     $zip->addDirectory($dir);
     $zip->close();
     $zip = new Archive();
     $zip->open($zipfile);
     $this->assertEquals('one1', $zip->getFromName('one.txt'));
     $this->assertEquals('two2', $zip->getFromName('two'));
     $this->assertEquals('three3', $zip->getFromName('sub' . DIRECTORY_SEPARATOR . 'three.txt'));
     $zip->close();
     // clean up
     unlink($dir . '/sub/three.txt');
     rmdir($dir . '/sub');
     unlink($dir . '/two');
     unlink($dir . '/one.txt');
     rmdir($dir);
     unlink($zipfile);
 }
Esempio n. 2
0
 /**
  * Asserts on entries in an archive
  *
  * @param   lang.archive.Archive a
  * @param   array<string, string> entries
  * @throws  unittest.AssertionFailedError
  */
 protected function assertEntries(Archive $a, array $entries)
 {
     $a->open(ARCHIVE_READ);
     $actual = array();
     while ($key = $a->getEntry()) {
         $actual[$key] = $a->extract($key);
     }
     $this->assertEquals($entries, $actual);
     $a->close();
 }