Annotation of embedaddon/php/ext/phar/tests/fgc_edgecases.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Phar: test edge cases of file_get_contents() function interception
                      3: --SKIPIF--
                      4: <?php
                      5: if (!extension_loaded("phar")) die("skip");
                      6: if (version_compare(PHP_VERSION, "6.0", ">")) die("skip pre-unicode version of PHP required");
                      7: ?>
                      8: --INI--
                      9: phar.readonly=0
                     10: --FILE--
                     11: <?php
                     12: 
                     13: Phar::interceptFileFuncs();
                     14: 
                     15: $fname = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar.php';
                     16: $pname = 'phar://' . $fname;
                     17: 
                     18: file_get_contents(array());
                     19: chdir(dirname(__FILE__));
                     20: file_put_contents($fname, "blah\n");
                     21: file_put_contents("foob", "test\n");
                     22: echo file_get_contents($fname);
                     23: unlink($fname);
                     24: mkdir($pname . '/oops');
                     25: 
                     26: file_put_contents($pname . '/foo/hi', '<?php
                     27: echo file_get_contents("foo/" . basename(__FILE__));
                     28: $context = stream_context_create();
                     29: file_get_contents("./hi", 0, $context, 0, -1);
                     30: echo file_get_contents("foob");
                     31: set_include_path("' . addslashes(dirname(__FILE__)) . '");
                     32: echo file_get_contents("foob", true);
                     33: echo file_get_contents("./hi", 0, $context);
                     34: echo file_get_contents("../oops");
                     35: echo file_get_contents("./hi", 0, $context, 50000);
                     36: ini_set("magic_quotes_runtime", 1);
                     37: echo file_get_contents("./hi");
                     38: echo file_get_contents("./hi", 0, $context, 0, 0);
                     39: ?>
                     40: ');
                     41: 
                     42: include $pname . '/foo/hi';
                     43: 
                     44: ?>
                     45: ===DONE===
                     46: --CLEAN--
                     47: <?php unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.phar.php'); ?>
                     48: <?php rmdir(dirname(__FILE__) . '/poo'); ?>
                     49: <?php unlink(dirname(__FILE__) . '/foob'); ?>
                     50: --EXPECTF--
                     51: Warning: file_get_contents() expects parameter 1 to be string, array given in %sfgc_edgecases.php on line %d
                     52: blah
                     53: <?php
                     54: echo file_get_contents("foo/" . basename(__FILE__));
                     55: $context = stream_context_create();
                     56: file_get_contents("./hi", 0, $context, 0, -1);
                     57: echo file_get_contents("foob");
                     58: set_include_path("%stests");
                     59: echo file_get_contents("foob", true);
                     60: echo file_get_contents("./hi", 0, $context);
                     61: echo file_get_contents("../oops");
                     62: echo file_get_contents("./hi", 0, $context, 50000);
                     63: ini_set("magic_quotes_runtime", 1);
                     64: echo file_get_contents("./hi");
                     65: echo file_get_contents("./hi", 0, $context, 0, 0);
                     66: ?>
                     67: 
                     68: Warning: file_get_contents(): length must be greater than or equal to zero in phar://%sfgc_edgecases.phar.php/foo/hi on line %d
                     69: test
                     70: test
                     71: <?php
                     72: echo file_get_contents("foo/" . basename(__FILE__));
                     73: $context = stream_context_create();
                     74: file_get_contents("./hi", 0, $context, 0, -1);
                     75: echo file_get_contents("foob");
                     76: set_include_path("%stests");
                     77: echo file_get_contents("foob", true);
                     78: echo file_get_contents("./hi", 0, $context);
                     79: echo file_get_contents("../oops");
                     80: echo file_get_contents("./hi", 0, $context, 50000);
                     81: ini_set("magic_quotes_runtime", 1);
                     82: echo file_get_contents("./hi");
                     83: echo file_get_contents("./hi", 0, $context, 0, 0);
                     84: ?>
                     85: 
                     86: Warning: file_get_contents(phar://%sfgc_edgecases.phar.php/oops): failed to open stream: phar error: path "oops" is a directory in phar://%sfgc_edgecases.phar.php/foo/hi on line %d
                     87: 
                     88: Warning: file_get_contents(): Failed to seek to position 50000 in the stream in phar://%sfgc_edgecases.phar.php/foo/hi on line %d
                     89: <?php
                     90: echo file_get_contents(\"foo/\" . basename(__FILE__));
                     91: $context = stream_context_create();
                     92: file_get_contents(\"./hi\", 0, $context, 0, -1);
                     93: echo file_get_contents(\"foob\");
                     94: set_include_path(\"%stests\");
                     95: echo file_get_contents(\"foob\", true);
                     96: echo file_get_contents(\"./hi\", 0, $context);
                     97: echo file_get_contents(\"../oops\");
                     98: echo file_get_contents(\"./hi\", 0, $context, 50000);
                     99: ini_set(\"magic_quotes_runtime\", 1);
                    100: echo file_get_contents(\"./hi\");
                    101: echo file_get_contents(\"./hi\", 0, $context, 0, 0);
                    102: ?>
                    103: ===DONE===

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