public function testZip() { if (class_exists('ZipArchive', false)) { $a = new Archive('test.zip'); unset($a); $a = new Archive('C:\\Projects\\..\\test.zip'); unset($a); $a = new Archive(__DIR__ . '/../tmp/test.zip'); $a->addFiles(array(__DIR__ . '/../tmp/access.txt', __DIR__ . '/../tmp/test.jpg', __DIR__ . '/TarTest.php', __DIR__ . '/../../../../../public/examples/assets')); $this->assertGreaterThan(1, count($a->adapter()->getDirs())); unset($a); $a = new Archive(__DIR__ . '/../tmp/test.zip'); $a->addFiles(__DIR__ . '/./'); unset($a); $a = new Archive(__DIR__ . '/../tmp/test.zip'); $a->addFiles(__DIR__ . '/../tmp'); $this->assertFileExists(__DIR__ . '/../tmp/test.zip'); $this->assertGreaterThan(60000, $a->getSize()); chmod(__DIR__ . '/../tmp/test.zip', 0777); unset($a); mkdir(__DIR__ . '/../tmp/test'); mkdir(__DIR__ . '/../tmp/test/test'); touch(__DIR__ . '/../tmp/empty'); touch(__DIR__ . '/../tmp/test/empty'); touch(__DIR__ . '/../tmp/test/test/empty'); chmod(__DIR__ . '/../tmp/test', 0777); chmod(__DIR__ . '/../tmp/test/test', 0777); chmod(__DIR__ . '/../tmp/empty', 0777); chmod(__DIR__ . '/../tmp/test/empty', 0777); chmod(__DIR__ . '/../tmp/test/test/empty', 0777); $a = new Archive(__DIR__ . '/../tmp/test.zip'); $a->addFiles(__DIR__ . '/../tmp/empty'); $a->addFiles(__DIR__ . '/../tmp/test'); $files = $a->listFiles(); $files = $a->listFiles(true); $this->assertTrue(is_array($files)); unset($a); if (file_exists(__DIR__ . '/../tmp/test.zip')) { unlink(__DIR__ . '/../tmp/test.zip'); } if (file_exists(__DIR__ . '/../tmp/empty')) { unlink(__DIR__ . '/../tmp/empty'); } $dir = new Dir(__DIR__ . '/../tmp/test'); $dir->emptyDir(); rmdir(__DIR__ . '/../tmp/test'); } }
public function testTgzExtract() { $tar = false; $includePath = explode(PATH_SEPARATOR, get_include_path()); foreach ($includePath as $path) { if (file_exists($path . DIRECTORY_SEPARATOR . 'Archive' . DIRECTORY_SEPARATOR . 'Tar.php')) { $tar = true; } } if ($tar && function_exists('gzcompress')) { $a = new Archive(__DIR__ . '/../tmp/test.tar'); $a->addFiles(__DIR__ . '/../tmp'); $a->compress(); chmod(__DIR__ . '/../tmp/test.tar.gz', 0777); unset($a); $a = new Archive(__DIR__ . '/../tmp/test.tar.gz'); mkdir(__DIR__ . '/../tmp/test'); chmod(__DIR__ . '/../tmp/test', 0777); $files = $a->listFiles(); $files = $a->listFiles(true); $this->assertTrue(is_array($files)); $a->extract(__DIR__ . '/../tmp/test'); $dir = new Dir(__DIR__ . '/../tmp/test'); $this->assertGreaterThan(0, count($dir->getFiles())); $dir->emptyDir(); rmdir(__DIR__ . '/../tmp/test'); if (file_exists(__DIR__ . '/../tmp/test.tar')) { unlink(__DIR__ . '/../tmp/test.tar'); } if (file_exists(__DIR__ . '/../tmp/test.tar.gz')) { unlink(__DIR__ . '/../tmp/test.tar.gz'); } } }