diff options
author | Greg Beaver <cellog@php.net> | 2008-05-11 19:17:51 +0000 |
---|---|---|
committer | Greg Beaver <cellog@php.net> | 2008-05-11 19:17:51 +0000 |
commit | 38d5943ee6e31f921fe40d7f0049cb14e8222b27 (patch) | |
tree | 6c5ec5fa4edd3435fd0d6a27a8af01304d2467b5 /ext/phar/tests/stat2.phpt | |
parent | 5ddb49caec245fd9e055d348350198e0e57592a0 (diff) | |
download | php-git-38d5943ee6e31f921fe40d7f0049cb14e8222b27.tar.gz |
increase code coverage of funcinterceptors to 90%+, fix many bugs, fix errant wrong test condition in fgc_edgecases
Diffstat (limited to 'ext/phar/tests/stat2.phpt')
-rw-r--r-- | ext/phar/tests/stat2.phpt | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/ext/phar/tests/stat2.phpt b/ext/phar/tests/stat2.phpt new file mode 100644 index 0000000000..559a28d3f0 --- /dev/null +++ b/ext/phar/tests/stat2.phpt @@ -0,0 +1,59 @@ +--TEST-- +Phar: test stat function interceptions and is_file/is_link edge cases +--SKIPIF-- +<?php if (!extension_loaded("phar")) die("skip");?> +--INI-- +phar.readonly=0 +--FILE-- +<?php +Phar::interceptFileFuncs(); +is_file(); +is_link(); +var_dump(is_file(__FILE__)); + +$fname2 = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.tar'; +$fname3 = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar.tar'; +copy(dirname(__FILE__) . '/tar/files/links.tar', $fname2); +$a = new PharData($fname2); +$b = $a->convertToExecutable(); +unset($a); +Phar::unlinkArchive($fname2); +$b['foo/stat.php'] = '<?php +echo "is_link\n"; +var_dump(is_link("./stat.php"),is_file("./stat.php"), is_link("./oops"), is_file("./oops")); +var_dump(is_link("testit/link"), filetype("testit/link"), filetype("testit"), is_file("testit/link")); +echo "not found\n"; +var_dump(is_link("notfound")); +echo "dir\n"; +var_dump(is_dir("./bar"), is_file("foo/bar/blah")); +?>'; +$b->addEmptyDir('foo/bar/blah'); +$b->setStub('<?php +include "phar://" . __FILE__ . "/foo/stat.php"; +__HALT_COMPILER();'); +include $fname3; +?> +===DONE=== +--CLEAN-- +<?php unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.phar.tar'); ?> +<?php unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.tar'); ?> +--EXPECTF-- +Warning: Wrong parameter count for is_file() in %sstat2.php on line %d + +Warning: Wrong parameter count for is_link() in %sstat2.php on line %d +bool(true) +is_link +bool(false) +bool(true) +bool(false) +bool(false) +bool(true) +string(4) "link" +string(3) "dir" +bool(true) +not found +bool(false) +dir +bool(true) +bool(false) +===DONE===
\ No newline at end of file |