Annotation of embedaddon/php/ext/phar/tests/readfile_edgecases.phpt, revision 1.1.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 older than 6.0"); ?>
                      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: readfile(array());
                     15: chdir(dirname(__FILE__));
                     16: file_put_contents($fname, "blah\n");
                     17: file_put_contents("foob", "test\n");
                     18: readfile($fname);
                     19: unlink($fname);
                     20: mkdir($pname . '/oops');
                     21: file_put_contents($pname . '/foo/hi', '<?php
                     22: readfile("foo/" . basename(__FILE__));
                     23: $context = stream_context_create();
                     24: readfile("foob");
                     25: set_include_path("' . addslashes(dirname(__FILE__)) . '");
                     26: readfile("foob", true);
                     27: readfile("./hi", 0, $context);
                     28: readfile("../oops");
                     29: ?>
                     30: ');
                     31: include $pname . '/foo/hi';
                     32: ?>
                     33: ===DONE===
                     34: --CLEAN--
                     35: <?php unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.phar.php'); ?>
                     36: <?php rmdir(dirname(__FILE__) . '/poo'); ?>
                     37: <?php unlink(dirname(__FILE__) . '/foob'); ?>
                     38: --EXPECTF--
                     39: Warning: readfile() expects parameter 1 to be string, array given in %sreadfile_edgecases.php on line %d
                     40: blah
                     41: <?php
                     42: readfile("foo/" . basename(__FILE__));
                     43: $context = stream_context_create();
                     44: readfile("foob");
                     45: set_include_path("%stests");
                     46: readfile("foob", true);
                     47: readfile("./hi", 0, $context);
                     48: readfile("../oops");
                     49: ?>
                     50: test
                     51: test
                     52: <?php
                     53: readfile("foo/" . basename(__FILE__));
                     54: $context = stream_context_create();
                     55: readfile("foob");
                     56: set_include_path("%stests");
                     57: readfile("foob", true);
                     58: readfile("./hi", 0, $context);
                     59: readfile("../oops");
                     60: ?>
                     61: 
                     62: Warning: readfile(phar://%sreadfile_edgecases.phar.php/oops): failed to open stream: phar error: path "oops" is a directory in phar://%sreadfile_edgecases.phar.php/foo/hi on line %d
                     63: ===DONE===

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>