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})"); }