1--TEST--
2Test readfile() function : variation - various invalid paths
3--CREDITS--
4Dave Kelsey <d_kelsey@uk.ibm.com>
5--SKIPIF--
6<?php
7if(substr(PHP_OS, 0, 3) == "WIN")
8  die("skip Not for Windows");
9?>
10--CONFLICTS--
11obscure_filename
12--FILE--
13<?php
14echo "*** Testing readfile() : variation ***\n";
15
16
17/* An array of files */
18$names_arr = array(
19  /* Invalid args */
20  -1,
21  TRUE,
22  FALSE,
23  "",
24  " ",
25  "\0",
26
27  /* prefix with path separator of a non existing directory*/
28  "/no/such/file/dir",
29  "php/php"
30
31);
32
33for( $i=0; $i<count($names_arr); $i++ ) {
34    $name = $names_arr[$i];
35    echo "-- testing '$name' --\n";
36    try {
37        readfile($name);
38    } catch (\TypeError|\ValueError $e) {
39        echo get_class($e) . ': ' . $e->getMessage(), "\n";
40    }
41}
42?>
43--EXPECTF--
44*** Testing readfile() : variation ***
45-- testing '-1' --
46
47Warning: readfile(-1): Failed to open stream: %s in %s on line %d
48-- testing '1' --
49
50Warning: readfile(1): Failed to open stream: %s in %s on line %d
51-- testing '' --
52ValueError: Path must not be empty
53-- testing '' --
54ValueError: Path must not be empty
55-- testing ' ' --
56
57Warning: readfile( ): Failed to open stream: %s in %s on line %d
58-- testing '%0' --
59ValueError: readfile(): Argument #1 ($filename) must not contain any null bytes
60-- testing '%sdir' --
61
62Warning: readfile(%sdir): Failed to open stream: %s in %s on line %d
63-- testing '%sphp' --
64
65Warning: readfile(%sphp): Failed to open stream: %s in %s on line %d
66