run(); $this->assertTrue(is_dir("$dir/.git"), "is_dir($dir/.git)"); (new Task\Cleanup($dir))->run(); $this->assertFalse(is_dir($dir), "is_dir($dir)"); } function testPecl() { $cmd = new Task\StreamFetch("http://pecl.php.net/get/pecl_http", function($pct) use(&$log) { $log[] = $pct; }); $tmp = $cmd->run(); $this->assertTrue(is_file($tmp), "is_file($tmp)"); $this->assertGreaterThan(1, count($log), "1 < count(\$log)"); $this->assertContains(0, $log, "in_array(0, \$log)"); $this->assertContains(1, $log, "in_array(1, \$log)"); $cmd = new Task\Extract($tmp); $dir = $cmd->run(); $this->assertTrue(is_dir($dir), "is_dir($dir)"); $this->assertTrue(is_file("$dir/package.xml"), "is_file($dir/package.xml"); $cmd = new Task\PeclFixup($dir); $new = $cmd->run(); $this->assertTrue(is_dir($new), "is_dir($new)"); $this->assertFalse(is_file("$dir/package.xml"), "is_file($dir/package.xml"); $this->assertTrue(is_file("$new/package.xml"), "is_file($new/package.xml"); (new Task\Cleanup($dir))->run(); $this->assertFalse(is_dir($dir), "is_dir($dir)"); $this->assertFalse(is_dir($new), "is_dir($new)"); } function testPackage() { $tmp = (new Task\StreamFetch("http://pecl.php.net/get/json_post/1.0.0", function(){}))->run(); $dir = (new Task\Extract($tmp))->run(); $new = (new Task\PeclFixup($dir))->run(); $src = new SourceDir\Pecl($new); $inf = [ "date" => date("Y-m-d"), "name" => "json_post", "release" => "1.0.0", "license" => file_get_contents($src->getBaseDir()."/LICENSE"), "stub" => "pharext_installer.php", "type" => "extension", ]; $pkg = (new Task\PharBuild($src, $inf))->run(); $gzp = (new Task\PharCompress($pkg, \Phar::GZ))->run(); $pkg = (new Task\PharRename($pkg, ".", "json_post-1.0.0"))->run(); $gzp = (new Task\PharRename($gzp, ".", "json_post-1.0.0"))->run(); $this->assertTrue(is_file($pkg), "is_file($pkg)"); $this->assertTrue(is_file($gzp), "is_file($gzp)"); } }