Annotation of embedaddon/php/ext/phar/tests/readfile_edgecasesU.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Phar: test edge cases of readfile() function interception
! 3: --SKIPIF--
! 4: <?php if (!extension_loaded("phar")) die("skip");?>
! 5: <?php if (version_compare(PHP_VERSION, "6.0", "<")) die("skip requires php 6.0 or newer"); ?>
! 6: --INI--
! 7: phar.readonly=0
! 8: --FILE--
! 9: <?php
! 10: Phar::interceptFileFuncs();
! 11: $fname = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar.php';
! 12: $pname = 'phar://' . $fname;
! 13:
! 14: chdir(dirname(__FILE__));
! 15: file_put_contents($fname, "blah\n");
! 16: file_put_contents("foob", "test\n");
! 17: readfile($fname);
! 18: unlink($fname);
! 19: mkdir($pname . '/oops');
! 20: file_put_contents($pname . '/foo/hi', '<?php
! 21: readfile("foo/" . basename(__FILE__));
! 22: $context = stream_context_create();
! 23: readfile("foob");
! 24: set_include_path("' . addslashes(dirname(__FILE__)) . '");
! 25: readfile("foob", true);
! 26: readfile("./hi", 0, $context);
! 27: readfile("../oops");
! 28: ?>
! 29: ');
! 30: include $pname . '/foo/hi';
! 31: ?>
! 32: ===DONE===
! 33: --CLEAN--
! 34: <?php unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.phar.php'); ?>
! 35: <?php rmdir(dirname(__FILE__) . '/poo'); ?>
! 36: <?php unlink(dirname(__FILE__) . '/foob'); ?>
! 37: --EXPECTF--
! 38: blah
! 39: <?php
! 40: readfile("foo/" . basename(__FILE__));
! 41: $context = stream_context_create();
! 42: readfile("foob");
! 43: set_include_path("%stests");
! 44: readfile("foob", true);
! 45: readfile("./hi", 0, $context);
! 46: readfile("../oops");
! 47: ?>
! 48: test
! 49: test
! 50: <?php
! 51: readfile("foo/" . basename(__FILE__));
! 52: $context = stream_context_create();
! 53: readfile("foob");
! 54: set_include_path("%stests");
! 55: readfile("foob", true);
! 56: readfile("./hi", 0, $context);
! 57: readfile("../oops");
! 58: ?>
! 59:
! 60: Warning: readfile(phar://%sreadfile_edgecasesU.phar.php/oops): failed to open stream: phar error: path "oops" is a directory in phar://%sreadfile_edgecasesU.phar.php/foo/hi on line %d
! 61: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>