public function testAdapter() { $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) { $a = Archive::factory(__DIR__ . '/../tmp/test.tar'); $this->assertInstanceOf('Pop\\Archive\\Adapter\\Tar', $a->adapter()); $this->assertInstanceOf('Archive_Tar', $a->archive()); $files = $a->listFiles(); $files = $a->listFiles(true); $this->assertTrue(is_array($files)); if (file_exists(__DIR__ . '/../tmp/test.tar')) { unlink(__DIR__ . '/../tmp/test.tar'); } } if (class_exists('ZipArchive', false)) { $a = new Archive('test.zip'); $this->assertInstanceOf('Pop\\Archive\\Adapter\\Zip', $a->adapter()); $this->assertInstanceOf('ZipArchive', $a->archive()); } }
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'); } }