Annotation of embedaddon/php/ext/standard/tests/file/readfile_variation4.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test readfile() function : usage variation
3: --CREDITS--
4: Dave Kelsey <d_kelsey@uk.ibm.com>
5: --FILE--
6: <?php
7: /* Prototype : int readfile(string filename [, bool use_include_path[, resource context]])
8: * Description: Output a file or a URL
9: * Source code: ext/standard/file.c
10: * Alias to functions:
11: */
12:
13: echo "*** Testing readfile() : usage variation ***\n";
14:
15: // Define error handler
16: function test_error_handler($err_no, $err_msg, $filename, $linenum, $vars) {
17: if (error_reporting() != 0) {
18: // report non-silenced errors
19: echo "Error: $err_no - $err_msg, $filename($linenum)\n";
20: }
21: }
22: set_error_handler('test_error_handler');
23:
24: // Initialise function arguments not being substituted (if any)
25: $filename = 'readFileVar4.tmp';
26: $use_include_path = false;
27: $h = fopen($filename,'wb');
28: fwrite($h, "testing readfile");
29: fclose($h);
30:
31:
32: $fileRes = fopen(__FILE__, 'r');
33:
34: //get an unset variable
35: $unset_var = 10;
36: unset ($unset_var);
37:
38: // define some classes
39: class classWithToString
40: {
41: public function __toString() {
42: return "Class A object";
43: }
44: }
45:
46: class classWithoutToString
47: {
48: }
49:
50: // heredoc string
51: $heredoc = <<<EOT
52: hello world
53: EOT;
54:
55: // add arrays
56: $index_array = array (1, 2, 3);
57: $assoc_array = array ('one' => 1, 'two' => 2);
58:
59: //array of values to iterate over
60: $inputs = array(
61:
62: // int data
63: 'int 0' => 0,
64: 'int 1' => 1,
65: 'int 12345' => 12345,
66: 'int -12345' => -2345,
67:
68: // float data
69: 'float 10.5' => 10.5,
70: 'float -10.5' => -10.5,
71: 'float 12.3456789000e10' => 12.3456789000e10,
72: 'float -12.3456789000e10' => -12.3456789000e10,
73: 'float .5' => .5,
74:
75: // array data
76: 'empty array' => array(),
77: 'int indexed array' => $index_array,
78: 'associative array' => $assoc_array,
79: 'nested arrays' => array('foo', $index_array, $assoc_array),
80:
81: // null data
82: 'uppercase NULL' => NULL,
83: 'lowercase null' => null,
84:
85: // boolean data
86: 'lowercase true' => true,
87: 'lowercase false' =>false,
88: 'uppercase TRUE' =>TRUE,
89: 'uppercase FALSE' =>FALSE,
90:
91: // empty data
92: 'empty string DQ' => "",
93: 'empty string SQ' => '',
94:
95: // string data
96: 'string DQ' => "string",
97: 'string SQ' => 'string',
98: 'mixed case string' => "sTrInG",
99: 'heredoc' => $heredoc,
100:
101: // object data
102: 'instance of classWithToString' => new classWithToString(),
103: 'instance of classWithoutToString' => new classWithoutToString(),
104:
105: // undefined data
106: 'undefined var' => @$undefined_var,
107:
108: // unset data
109: 'unset var' => @$unset_var,
110:
111: // file resource
112: 'file resource' => $fileRes,
113: );
114:
115: // loop through each element of the array for context
116:
117: foreach($inputs as $key =>$value) {
118: echo "\n--$key--\n";
119: $h = readfile($filename, $use_include_path, $value);
120: if ($h == false) {
121: echo "file not read\n";
122: }
123: else {
124: echo "\n";
125: }
126: };
127:
128: unlink($filename);
129: fclose($fileRes);
130:
131: ?>
132: ===DONE===
133: --EXPECTF--
134: *** Testing readfile() : usage variation ***
135:
136: --int 0--
137: Error: 2 - readfile() expects parameter 3 to be resource, integer given, %s(%d)
138: file not read
139:
140: --int 1--
141: Error: 2 - readfile() expects parameter 3 to be resource, integer given, %s(%d)
142: file not read
143:
144: --int 12345--
145: Error: 2 - readfile() expects parameter 3 to be resource, integer given, %s(%d)
146: file not read
147:
148: --int -12345--
149: Error: 2 - readfile() expects parameter 3 to be resource, integer given, %s(%d)
150: file not read
151:
152: --float 10.5--
153: Error: 2 - readfile() expects parameter 3 to be resource, double given, %s(%d)
154: file not read
155:
156: --float -10.5--
157: Error: 2 - readfile() expects parameter 3 to be resource, double given, %s(%d)
158: file not read
159:
160: --float 12.3456789000e10--
161: Error: 2 - readfile() expects parameter 3 to be resource, double given, %s(%d)
162: file not read
163:
164: --float -12.3456789000e10--
165: Error: 2 - readfile() expects parameter 3 to be resource, double given, %s(%d)
166: file not read
167:
168: --float .5--
169: Error: 2 - readfile() expects parameter 3 to be resource, double given, %s(%d)
170: file not read
171:
172: --empty array--
173: Error: 2 - readfile() expects parameter 3 to be resource, array given, %s(%d)
174: file not read
175:
176: --int indexed array--
177: Error: 2 - readfile() expects parameter 3 to be resource, array given, %s(%d)
178: file not read
179:
180: --associative array--
181: Error: 2 - readfile() expects parameter 3 to be resource, array given, %s(%d)
182: file not read
183:
184: --nested arrays--
185: Error: 2 - readfile() expects parameter 3 to be resource, array given, %s(%d)
186: file not read
187:
188: --uppercase NULL--
189: testing readfile
190:
191: --lowercase null--
192: testing readfile
193:
194: --lowercase true--
195: Error: 2 - readfile() expects parameter 3 to be resource, boolean given, %s(%d)
196: file not read
197:
198: --lowercase false--
199: Error: 2 - readfile() expects parameter 3 to be resource, boolean given, %s(%d)
200: file not read
201:
202: --uppercase TRUE--
203: Error: 2 - readfile() expects parameter 3 to be resource, boolean given, %s(%d)
204: file not read
205:
206: --uppercase FALSE--
207: Error: 2 - readfile() expects parameter 3 to be resource, boolean given, %s(%d)
208: file not read
209:
210: --empty string DQ--
211: Error: 2 - readfile() expects parameter 3 to be resource, string given, %s(%d)
212: file not read
213:
214: --empty string SQ--
215: Error: 2 - readfile() expects parameter 3 to be resource, string given, %s(%d)
216: file not read
217:
218: --string DQ--
219: Error: 2 - readfile() expects parameter 3 to be resource, string given, %s(%d)
220: file not read
221:
222: --string SQ--
223: Error: 2 - readfile() expects parameter 3 to be resource, string given, %s(%d)
224: file not read
225:
226: --mixed case string--
227: Error: 2 - readfile() expects parameter 3 to be resource, string given, %s(%d)
228: file not read
229:
230: --heredoc--
231: Error: 2 - readfile() expects parameter 3 to be resource, string given, %s(%d)
232: file not read
233:
234: --instance of classWithToString--
235: Error: 2 - readfile() expects parameter 3 to be resource, object given, %s(%d)
236: file not read
237:
238: --instance of classWithoutToString--
239: Error: 2 - readfile() expects parameter 3 to be resource, object given, %s(%d)
240: file not read
241:
242: --undefined var--
243: testing readfile
244:
245: --unset var--
246: testing readfile
247:
248: --file resource--
249: Error: 2 - readfile(): supplied resource is not a valid Stream-Context resource, %s(%d)
250: testing readfile
251: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>