5 require_once __DIR__
."/../../autoload.php";
9 class TaskTest
extends \PHPUnit_Framework_TestCase
11 function testGitClone() {
12 $cmd = new Task\
GitClone("https://git.php.net/repository/pecl/http/apfd.git");
15 $this->assertTrue(is_dir("$dir/.git"), "is_dir($dir/.git)");
17 (new Task\
Cleanup($dir))->run();
18 $this->assertFalse(is_dir($dir), "is_dir($dir)");
22 $cmd = new Task\
StreamFetch("http://pecl.php.net/get/pecl_http", function($pct) use(&$log) {
27 $this->assertTrue(is_file($tmp), "is_file($tmp)");
28 $this->assertGreaterThan(1, count($log), "1 < count(\$log)");
29 $this->assertContains(0, $log, "in_array(0, \$log)");
30 $this->assertContains(1, $log, "in_array(1, \$log)");
32 $cmd = new Task\
Extract($tmp);
35 $this->assertTrue(is_dir($dir), "is_dir($dir)");
36 $this->assertTrue(is_file("$dir/package.xml"), "is_file($dir/package.xml");
38 $cmd = new Task\
PeclFixup($dir);
41 $this->assertTrue(is_dir($new), "is_dir($new)");
42 $this->assertFalse(is_file("$dir/package.xml"), "is_file($dir/package.xml");
43 $this->assertTrue(is_file("$new/package.xml"), "is_file($new/package.xml");
45 (new Task\
Cleanup($dir))->run();
46 $this->assertFalse(is_dir($dir), "is_dir($dir)");
47 $this->assertFalse(is_dir($new), "is_dir($new)");
50 function testPackage() {
51 $tmp = (new Task\
StreamFetch("http://pecl.php.net/get/json_post/1.0.0", function(){}))->run();
52 $dir = (new Task\
Extract($tmp))->run();
53 $new = (new Task\
PeclFixup($dir))->run();
54 $src = new SourceDir\
Pecl($new);
56 "date" => date("Y-m-d"),
57 "name" => "json_post",
59 "license" => file_get_contents($src->getBaseDir()."/LICENSE"),
60 "type" => "extension",
62 $stb = __DIR__
."/../../../src/pharext_installer.php";
63 $pkg = (new Task\
PharBuild($src, $stb, $inf))->run();
64 $gzp = (new Task\
PharCompress($pkg, \Phar
::GZ
))->run();
65 $pkg = (new Task\
PharRename($pkg, ".", "json_post-1.0.0"))->run();
66 $gzp = (new Task\
PharRename($gzp, ".", "json_post-1.0.0"))->run();
68 $this->assertTrue(is_file($pkg), "is_file($pkg)");
69 $this->assertTrue(is_file($gzp), "is_file($gzp)");