Annotation of embedaddon/php/ext/phar/tests/stat2_5.3.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Phar: test stat function interceptions and is_file/is_link edge cases (PHP 5.3+)
! 3: --SKIPIF--
! 4: <?php if (!extension_loaded("phar")) die("skip");?>
! 5: <?php if (substr(phpversion(), 0, 3) == '5.2') die("skip PHP 5.3+ required for this test");?>
! 6: --INI--
! 7: phar.readonly=0
! 8: phar.require_hash=0
! 9: --FILE--
! 10: <?php
! 11: Phar::interceptFileFuncs();
! 12: is_file();
! 13: is_link();
! 14: var_dump(is_file(__FILE__));
! 15:
! 16: $fname2 = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.tar';
! 17: $fname3 = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar.tar';
! 18: copy(dirname(__FILE__) . '/tar/files/links.tar', $fname2);
! 19: $a = new PharData($fname2);
! 20: $b = $a->convertToExecutable(Phar::TAR, Phar::NONE, '.3.phar.tar');
! 21: unset($a);
! 22: Phar::unlinkArchive($fname2);
! 23: $b['foo/stat.php'] = '<?php
! 24: echo "is_link\n";
! 25: var_dump(is_link("./stat.php"),is_file("./stat.php"), is_link("./oops"), is_file("./oops"));
! 26: var_dump(is_link("testit/link"), filetype("testit/link"), filetype("testit"), is_file("testit/link"));
! 27: echo "not found\n";
! 28: var_dump(is_link("notfound"));
! 29: echo "dir\n";
! 30: var_dump(is_dir("./bar"), is_file("foo/bar/blah"));
! 31: ?>';
! 32: $b->addEmptyDir('foo/bar/blah');
! 33: $b->setStub('<?php
! 34: include "phar://" . __FILE__ . "/foo/stat.php";
! 35: __HALT_COMPILER();');
! 36: include $fname3;
! 37: ?>
! 38: ===DONE===
! 39: --CLEAN--
! 40: <?php unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.phar.tar'); ?>
! 41: <?php unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.tar'); ?>
! 42: --EXPECTF--
! 43: Warning: is_file() expects exactly 1 parameter, 0 given in %sstat2_5.3.php on line %d
! 44:
! 45: Warning: is_link() expects exactly 1 parameter, 0 given in %sstat2_5.3.php on line %d
! 46: bool(true)
! 47: is_link
! 48: bool(false)
! 49: bool(true)
! 50: bool(false)
! 51: bool(false)
! 52: bool(true)
! 53: string(4) "link"
! 54: string(3) "dir"
! 55: bool(true)
! 56: not found
! 57: bool(false)
! 58: dir
! 59: bool(true)
! 60: bool(false)
! 61: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>