mirror of
https://github.com/php/php-src.git
synced 2026-04-16 20:41:18 +02:00
PHP requires boolean typehints to be written "bool" and disallows
"boolean" as an alias. This changes the error messages to match
the actual type name and avoids confusing messages like "must be
of type boolean, boolean given".
This a followup to ce1d69a1f6, which
implements the same change for integer->int.
162 lines
4.1 KiB
PHP
162 lines
4.1 KiB
PHP
--TEST--
|
|
Test gzopen() function : variation: use include path (relative directories in path)
|
|
--SKIPIF--
|
|
<?php
|
|
if (!extension_loaded("zlib")) {
|
|
print "skip - ZLIB extension not loaded";
|
|
}
|
|
?>
|
|
--FILE--
|
|
<?php
|
|
/* Prototype : resource gzopen(string filename, string mode [, int use_include_path])
|
|
* Description: Open a .gz-file and return a .gz-file pointer
|
|
* Source code: ext/zlib/zlib.c
|
|
* Alias to functions:
|
|
*/
|
|
|
|
echo "*** Testing gzopen() : usage variation ***\n";
|
|
|
|
require_once('reading_include_path.inc');
|
|
|
|
//define the files to go into these directories, create one in dir2
|
|
echo "\n--- testing include path ---\n";
|
|
set_include_path($newIncludePath);
|
|
$modes = array("r", "r+", "rt");
|
|
foreach($modes as $mode) {
|
|
test_gzopen($mode);
|
|
}
|
|
restore_include_path();
|
|
|
|
// remove the directory structure
|
|
chdir($baseDir);
|
|
rmdir($workingDir);
|
|
foreach($newdirs as $newdir) {
|
|
rmdir($newdir);
|
|
}
|
|
|
|
chdir("..");
|
|
rmdir($thisTestDir);
|
|
|
|
function test_gzopen($mode) {
|
|
global $scriptFile, $secondFile, $firstFile, $filename;
|
|
|
|
// create a file in the middle directory
|
|
$h = gzopen($secondFile, "w");
|
|
gzwrite($h, "This is a file in dir2");
|
|
gzclose($h);
|
|
|
|
echo "\n** testing with mode=$mode **\n";
|
|
// should read dir2 file
|
|
$h = gzopen($filename, $mode, true);
|
|
gzpassthru($h);
|
|
gzclose($h);
|
|
echo "\n";
|
|
|
|
//create a file in dir1
|
|
$h = gzopen($firstFile, "w");
|
|
gzwrite($h, "This is a file in dir1");
|
|
gzclose($h);
|
|
|
|
//should now read dir1 file
|
|
$h = gzopen($filename, $mode, true);
|
|
gzpassthru($h);
|
|
gzclose($h);
|
|
echo "\n";
|
|
|
|
// create a file in working directory
|
|
$h = gzopen($filename, "w");
|
|
gzwrite($h, "This is a file in working dir");
|
|
gzclose($h);
|
|
|
|
//should still read dir1 file
|
|
$h = gzopen($filename, $mode, true);
|
|
gzpassthru($h);
|
|
gzclose($h);
|
|
echo "\n";
|
|
|
|
unlink($firstFile);
|
|
unlink($secondFile);
|
|
|
|
//should read the file in working dir
|
|
$h = gzopen($filename, $mode, true);
|
|
gzpassthru($h);
|
|
gzclose($h);
|
|
echo "\n";
|
|
|
|
// create a file in the script directory
|
|
$h = gzopen($scriptFile, "w");
|
|
gzwrite($h, "This is a file in script dir");
|
|
gzclose($h);
|
|
|
|
//should read the file in script dir
|
|
$h = gzopen($filename, $mode, true);
|
|
gzpassthru($h);
|
|
gzclose($h);
|
|
echo "\n";
|
|
|
|
//cleanup
|
|
unlink($filename);
|
|
unlink($scriptFile);
|
|
|
|
}
|
|
|
|
?>
|
|
===DONE===
|
|
--EXPECTF--
|
|
*** Testing gzopen() : usage variation ***
|
|
|
|
--- testing include path ---
|
|
|
|
** testing with mode=r **
|
|
This is a file in dir2
|
|
This is a file in dir1
|
|
This is a file in dir1
|
|
This is a file in working dir
|
|
This is a file in script dir
|
|
|
|
** testing with mode=r+ **
|
|
|
|
Warning: gzopen(): cannot open a zlib stream for reading and writing at the same time! in %s on line %d
|
|
|
|
Warning: gzpassthru() expects parameter 1 to be resource, bool given in %s on line %d
|
|
|
|
Warning: gzclose() expects parameter 1 to be resource, bool given in %s on line %d
|
|
|
|
|
|
Warning: gzopen(): cannot open a zlib stream for reading and writing at the same time! in %s on line %d
|
|
|
|
Warning: gzpassthru() expects parameter 1 to be resource, bool given in %s on line %d
|
|
|
|
Warning: gzclose() expects parameter 1 to be resource, bool given in %s on line %d
|
|
|
|
|
|
Warning: gzopen(): cannot open a zlib stream for reading and writing at the same time! in %s on line %d
|
|
|
|
Warning: gzpassthru() expects parameter 1 to be resource, bool given in %s on line %d
|
|
|
|
Warning: gzclose() expects parameter 1 to be resource, bool given in %s on line %d
|
|
|
|
|
|
Warning: gzopen(): cannot open a zlib stream for reading and writing at the same time! in %s on line %d
|
|
|
|
Warning: gzpassthru() expects parameter 1 to be resource, bool given in %s on line %d
|
|
|
|
Warning: gzclose() expects parameter 1 to be resource, bool given in %s on line %d
|
|
|
|
|
|
Warning: gzopen(): cannot open a zlib stream for reading and writing at the same time! in %s on line %d
|
|
|
|
Warning: gzpassthru() expects parameter 1 to be resource, bool given in %s on line %d
|
|
|
|
Warning: gzclose() expects parameter 1 to be resource, bool given in %s on line %d
|
|
|
|
|
|
** testing with mode=rt **
|
|
This is a file in dir2
|
|
This is a file in dir1
|
|
This is a file in dir1
|
|
This is a file in working dir
|
|
This is a file in script dir
|
|
===DONE===
|
|
|