Annotation of embedaddon/php/ext/standard/tests/file/ftruncate_variation5-win32.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test ftruncate() function : usage variations - truncate file to bigger size
3: --SKIPIF--
4: <?php
5: if (substr(PHP_OS, 0, 3) != 'WIN') {
6: die('skip.. only valid for Windows');
7: }
8: ?>
9: --FILE--
10: <?php
11: /*
12: Prototype: bool ftruncate ( resource $handle, int $size );
13: Description: Truncates a file to a given length
14: */
15:
16: // include common file related test functions
17: include ("file.inc");
18:
19: echo "*** Testing ftruncate() : usage variations ***\n";
20:
21: /* test ftruncate with file opened in different modes */
22: $file_modes = array("r", "rb", "rt", "r+", "r+b", "r+t",
23: "w", "wb", "wt", "w+", "w+b", "w+t",
24: "x", "xb", "xt", "x+", "x+b", "x+t",
25: "a", "ab", "at", "a+", "a+b", "a+t");
26:
27: $file_content_types = array("numeric","text_with_new_line");
28:
29: foreach($file_content_types as $file_content_type) {
30: echo "\n-- Testing ftruncate() with file having data of type ". $file_content_type ." --\n";
31:
32: for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) {
33: echo "-- Testing ftruncate() with file opening using $file_modes[$mode_counter] mode --\n";
34:
35: // create 1 file with some contents
36: $filename = dirname(__FILE__)."/ftruncate_variation5.tmp";
37: if( strstr($file_modes[$mode_counter], "x") || strstr($file_modes[$mode_counter], "w") ) {
38: // fopen the file using the $file_modes
39: $file_handle = fopen($filename, $file_modes[$mode_counter]);
40: fill_file($file_handle, $file_content_type, 1024);
41: } else {
42: create_files ( dirname(__FILE__), 1, $file_content_type, 0755, 1, "w", "ftruncate_variation", 5);
43: // fopen the file using the $file_modes
44: $file_handle = fopen($filename, $file_modes[$mode_counter]);
45: }
46: if (!$file_handle) {
47: echo "Error: failed to open file $filename!\n";
48: exit();
49: }
50:
51: rewind($file_handle); // file pointer to 0
52:
53: echo "-- Testing ftruncate(): try truncating file to size, bigger than existing --\n";
54: /* try to truncate it to size bigger then current */
55:
56: $new_size = filesize($filename) + 100;
57: var_dump( filesize($filename) ); // current filesize
58: var_dump( ftell($file_handle) );
59: var_dump( ftruncate($file_handle, $new_size) ); // truncate it
60: var_dump( ftell($file_handle) );
61: var_dump( feof($file_handle) );
62: fclose($file_handle);
63: clearstatcache(); // clear previous size value in cache
64: var_dump( filesize($filename) ); // new file size = actual size, no change
65:
66: //delete all files created
67: delete_file($filename);
68: }//end of inner for loop
69:
70: }//end of outer foreach loop
71: echo "Done\n";
72: ?>
73: --EXPECTF--
74: *** Testing ftruncate() : usage variations ***
75:
76: -- Testing ftruncate() with file having data of type numeric --
77: -- Testing ftruncate() with file opening using r mode --
78: -- Testing ftruncate(): try truncating file to size, bigger than existing --
79: int(1024)
80: int(0)
81: bool(false)
82: int(0)
83: bool(false)
84: int(1024)
85: -- Testing ftruncate() with file opening using rb mode --
86: -- Testing ftruncate(): try truncating file to size, bigger than existing --
87: int(1024)
88: int(0)
89: bool(false)
90: int(0)
91: bool(false)
92: int(1024)
93: -- Testing ftruncate() with file opening using rt mode --
94: -- Testing ftruncate(): try truncating file to size, bigger than existing --
95: int(1024)
96: int(0)
97: bool(false)
98: int(0)
99: bool(false)
100: int(1024)
101: -- Testing ftruncate() with file opening using r+ mode --
102: -- Testing ftruncate(): try truncating file to size, bigger than existing --
103: int(1024)
104: int(0)
105: bool(true)
106: int(0)
107: bool(false)
108: int(1124)
109: -- Testing ftruncate() with file opening using r+b mode --
110: -- Testing ftruncate(): try truncating file to size, bigger than existing --
111: int(1024)
112: int(0)
113: bool(true)
114: int(0)
115: bool(false)
116: int(1124)
117: -- Testing ftruncate() with file opening using r+t mode --
118: -- Testing ftruncate(): try truncating file to size, bigger than existing --
119: int(1024)
120: int(0)
121: bool(true)
122: int(0)
123: bool(false)
124: int(1124)
125: -- Testing ftruncate() with file opening using w mode --
126: -- Testing ftruncate(): try truncating file to size, bigger than existing --
127: int(1024)
128: int(0)
129: bool(true)
130: int(0)
131: bool(false)
132: int(1124)
133: -- Testing ftruncate() with file opening using wb mode --
134: -- Testing ftruncate(): try truncating file to size, bigger than existing --
135: int(1024)
136: int(0)
137: bool(true)
138: int(0)
139: bool(false)
140: int(1124)
141: -- Testing ftruncate() with file opening using wt mode --
142: -- Testing ftruncate(): try truncating file to size, bigger than existing --
143: int(1024)
144: int(0)
145: bool(true)
146: int(0)
147: bool(false)
148: int(1124)
149: -- Testing ftruncate() with file opening using w+ mode --
150: -- Testing ftruncate(): try truncating file to size, bigger than existing --
151: int(1024)
152: int(0)
153: bool(true)
154: int(0)
155: bool(false)
156: int(1124)
157: -- Testing ftruncate() with file opening using w+b mode --
158: -- Testing ftruncate(): try truncating file to size, bigger than existing --
159: int(1024)
160: int(0)
161: bool(true)
162: int(0)
163: bool(false)
164: int(1124)
165: -- Testing ftruncate() with file opening using w+t mode --
166: -- Testing ftruncate(): try truncating file to size, bigger than existing --
167: int(1024)
168: int(0)
169: bool(true)
170: int(0)
171: bool(false)
172: int(1124)
173: -- Testing ftruncate() with file opening using x mode --
174: -- Testing ftruncate(): try truncating file to size, bigger than existing --
175: int(1024)
176: int(0)
177: bool(true)
178: int(0)
179: bool(false)
180: int(1124)
181: -- Testing ftruncate() with file opening using xb mode --
182: -- Testing ftruncate(): try truncating file to size, bigger than existing --
183: int(1024)
184: int(0)
185: bool(true)
186: int(0)
187: bool(false)
188: int(1124)
189: -- Testing ftruncate() with file opening using xt mode --
190: -- Testing ftruncate(): try truncating file to size, bigger than existing --
191: int(1024)
192: int(0)
193: bool(true)
194: int(0)
195: bool(false)
196: int(1124)
197: -- Testing ftruncate() with file opening using x+ mode --
198: -- Testing ftruncate(): try truncating file to size, bigger than existing --
199: int(1024)
200: int(0)
201: bool(true)
202: int(0)
203: bool(false)
204: int(1124)
205: -- Testing ftruncate() with file opening using x+b mode --
206: -- Testing ftruncate(): try truncating file to size, bigger than existing --
207: int(1024)
208: int(0)
209: bool(true)
210: int(0)
211: bool(false)
212: int(1124)
213: -- Testing ftruncate() with file opening using x+t mode --
214: -- Testing ftruncate(): try truncating file to size, bigger than existing --
215: int(1024)
216: int(0)
217: bool(true)
218: int(0)
219: bool(false)
220: int(1124)
221: -- Testing ftruncate() with file opening using a mode --
222: -- Testing ftruncate(): try truncating file to size, bigger than existing --
223: int(1024)
224: int(0)
225: bool(true)
226: int(0)
227: bool(false)
228: int(1124)
229: -- Testing ftruncate() with file opening using ab mode --
230: -- Testing ftruncate(): try truncating file to size, bigger than existing --
231: int(1024)
232: int(0)
233: bool(true)
234: int(0)
235: bool(false)
236: int(1124)
237: -- Testing ftruncate() with file opening using at mode --
238: -- Testing ftruncate(): try truncating file to size, bigger than existing --
239: int(1024)
240: int(0)
241: bool(true)
242: int(0)
243: bool(false)
244: int(1124)
245: -- Testing ftruncate() with file opening using a+ mode --
246: -- Testing ftruncate(): try truncating file to size, bigger than existing --
247: int(1024)
248: int(0)
249: bool(true)
250: int(0)
251: bool(false)
252: int(1124)
253: -- Testing ftruncate() with file opening using a+b mode --
254: -- Testing ftruncate(): try truncating file to size, bigger than existing --
255: int(1024)
256: int(0)
257: bool(true)
258: int(0)
259: bool(false)
260: int(1124)
261: -- Testing ftruncate() with file opening using a+t mode --
262: -- Testing ftruncate(): try truncating file to size, bigger than existing --
263: int(1024)
264: int(0)
265: bool(true)
266: int(0)
267: bool(false)
268: int(1124)
269:
270: -- Testing ftruncate() with file having data of type text_with_new_line --
271: -- Testing ftruncate() with file opening using r mode --
272: -- Testing ftruncate(): try truncating file to size, bigger than existing --
273: int(1024)
274: int(0)
275: bool(false)
276: int(0)
277: bool(false)
278: int(1024)
279: -- Testing ftruncate() with file opening using rb mode --
280: -- Testing ftruncate(): try truncating file to size, bigger than existing --
281: int(1024)
282: int(0)
283: bool(false)
284: int(0)
285: bool(false)
286: int(1024)
287: -- Testing ftruncate() with file opening using rt mode --
288: -- Testing ftruncate(): try truncating file to size, bigger than existing --
289: int(1024)
290: int(0)
291: bool(false)
292: int(0)
293: bool(false)
294: int(1024)
295: -- Testing ftruncate() with file opening using r+ mode --
296: -- Testing ftruncate(): try truncating file to size, bigger than existing --
297: int(1024)
298: int(0)
299: bool(true)
300: int(0)
301: bool(false)
302: int(1124)
303: -- Testing ftruncate() with file opening using r+b mode --
304: -- Testing ftruncate(): try truncating file to size, bigger than existing --
305: int(1024)
306: int(0)
307: bool(true)
308: int(0)
309: bool(false)
310: int(1124)
311: -- Testing ftruncate() with file opening using r+t mode --
312: -- Testing ftruncate(): try truncating file to size, bigger than existing --
313: int(1024)
314: int(0)
315: bool(true)
316: int(0)
317: bool(false)
318: int(1124)
319: -- Testing ftruncate() with file opening using w mode --
320: -- Testing ftruncate(): try truncating file to size, bigger than existing --
321: int(1024)
322: int(0)
323: bool(true)
324: int(0)
325: bool(false)
326: int(1124)
327: -- Testing ftruncate() with file opening using wb mode --
328: -- Testing ftruncate(): try truncating file to size, bigger than existing --
329: int(1024)
330: int(0)
331: bool(true)
332: int(0)
333: bool(false)
334: int(1124)
335: -- Testing ftruncate() with file opening using wt mode --
336: -- Testing ftruncate(): try truncating file to size, bigger than existing --
337: int(1137)
338: int(0)
339: bool(true)
340: int(0)
341: bool(false)
342: int(1237)
343: -- Testing ftruncate() with file opening using w+ mode --
344: -- Testing ftruncate(): try truncating file to size, bigger than existing --
345: int(1024)
346: int(0)
347: bool(true)
348: int(0)
349: bool(false)
350: int(1124)
351: -- Testing ftruncate() with file opening using w+b mode --
352: -- Testing ftruncate(): try truncating file to size, bigger than existing --
353: int(1024)
354: int(0)
355: bool(true)
356: int(0)
357: bool(false)
358: int(1124)
359: -- Testing ftruncate() with file opening using w+t mode --
360: -- Testing ftruncate(): try truncating file to size, bigger than existing --
361: int(1137)
362: int(0)
363: bool(true)
364: int(0)
365: bool(false)
366: int(1237)
367: -- Testing ftruncate() with file opening using x mode --
368: -- Testing ftruncate(): try truncating file to size, bigger than existing --
369: int(1024)
370: int(0)
371: bool(true)
372: int(0)
373: bool(false)
374: int(1124)
375: -- Testing ftruncate() with file opening using xb mode --
376: -- Testing ftruncate(): try truncating file to size, bigger than existing --
377: int(1024)
378: int(0)
379: bool(true)
380: int(0)
381: bool(false)
382: int(1124)
383: -- Testing ftruncate() with file opening using xt mode --
384: -- Testing ftruncate(): try truncating file to size, bigger than existing --
385: int(1137)
386: int(0)
387: bool(true)
388: int(0)
389: bool(false)
390: int(1237)
391: -- Testing ftruncate() with file opening using x+ mode --
392: -- Testing ftruncate(): try truncating file to size, bigger than existing --
393: int(1024)
394: int(0)
395: bool(true)
396: int(0)
397: bool(false)
398: int(1124)
399: -- Testing ftruncate() with file opening using x+b mode --
400: -- Testing ftruncate(): try truncating file to size, bigger than existing --
401: int(1024)
402: int(0)
403: bool(true)
404: int(0)
405: bool(false)
406: int(1124)
407: -- Testing ftruncate() with file opening using x+t mode --
408: -- Testing ftruncate(): try truncating file to size, bigger than existing --
409: int(1137)
410: int(0)
411: bool(true)
412: int(0)
413: bool(false)
414: int(1237)
415: -- Testing ftruncate() with file opening using a mode --
416: -- Testing ftruncate(): try truncating file to size, bigger than existing --
417: int(1024)
418: int(0)
419: bool(true)
420: int(0)
421: bool(false)
422: int(1124)
423: -- Testing ftruncate() with file opening using ab mode --
424: -- Testing ftruncate(): try truncating file to size, bigger than existing --
425: int(1024)
426: int(0)
427: bool(true)
428: int(0)
429: bool(false)
430: int(1124)
431: -- Testing ftruncate() with file opening using at mode --
432: -- Testing ftruncate(): try truncating file to size, bigger than existing --
433: int(1024)
434: int(0)
435: bool(true)
436: int(0)
437: bool(false)
438: int(1124)
439: -- Testing ftruncate() with file opening using a+ mode --
440: -- Testing ftruncate(): try truncating file to size, bigger than existing --
441: int(1024)
442: int(0)
443: bool(true)
444: int(0)
445: bool(false)
446: int(1124)
447: -- Testing ftruncate() with file opening using a+b mode --
448: -- Testing ftruncate(): try truncating file to size, bigger than existing --
449: int(1024)
450: int(0)
451: bool(true)
452: int(0)
453: bool(false)
454: int(1124)
455: -- Testing ftruncate() with file opening using a+t mode --
456: -- Testing ftruncate(): try truncating file to size, bigger than existing --
457: int(1024)
458: int(0)
459: bool(true)
460: int(0)
461: bool(false)
462: int(1124)
463: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>