Annotation of embedaddon/php/ext/standard/tests/file/fgetcsv_variation22.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test fgetcsv() : usage variations - with default enclosure, file pointer pointing at end of file
3: --FILE--
4: <?php
5: /*
6: Prototype: array fgetcsv ( resource $handle [, int $length [, string $delimiter [, string $enclosure]]] );
7: Description: Gets line from file pointer and parse for CSV fields
8: */
9:
10: /*
11: Testing fgetcsv() to read a file whose file pointer is pointing to end of file
12: and fgetcsv() provided with default enclosure argument
13: */
14:
15: echo "*** Testing fgetcsv() : with default enclosure, file pointer pointing at end of file ***\n";
16:
17: /* the array is with two elements in it. Each element should be read as
18: 1st element is delimiter & 2nd element is csv fields
19: */
20: $csv_lists = array (
21: array(',', 'water,fruit'),
22: array(' ', 'water fruit'),
23: array(' ', '"water" "fruit"'),
24: array('\\', 'water\\"fruit"\\"air"'),
25: array('\\', '"water"\\"fruit"\\"""'),
26: );
27:
28: $filename = dirname(__FILE__) . '/fgetcsv_variation22.tmp';
29: @unlink($filename);
30:
31: $file_modes = array ("r","rb", "rt", "r+", "r+b", "r+t",
32: "a+", "a+b", "a+t",
33: "w+", "w+b", "w+t",
34: "x+", "x+b", "x+t");
35:
36: $loop_counter = 1;
37: foreach ($csv_lists as $csv_list) {
38: for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) {
39: // create the file and add the content with has csv fields
40: if ( strstr($file_modes[$mode_counter], "r") ) {
41: $file_handle = fopen($filename, "w");
42: } else {
43: $file_handle = fopen($filename, $file_modes[$mode_counter] );
44: }
45: if ( !$file_handle ) {
46: echo "Error: failed to create file $filename!\n";
47: exit();
48: }
49: $delimiter = $csv_list[0];
50: $csv_field = $csv_list[1];
51:
52: fwrite($file_handle, $csv_field . "\n");
53: // write another line of text and a blank line
54: // this will be used to test, if the fgetcsv() read more than a line and its
55: // working when only a blan line is read
56: fwrite($file_handle, "This is line of text without csv fields\n");
57: fwrite($file_handle, "\n"); // blank line
58:
59: // close the file if the mode to be used is read mode and re-open using read mode
60: if ( strstr($file_modes[$mode_counter], "r" ) ) {
61: fclose($file_handle);
62: $file_handle = fopen($filename, $file_modes[$mode_counter]);
63: }
64:
65: echo "\n-- Testing fgetcsv() with file opened using $file_modes[$mode_counter] mode --\n";
66:
67: // set the file pointer to EOF
68: var_dump( fseek($file_handle, 0, SEEK_END) );
69:
70: // call fgetcsv() to parse csv fields
71:
72: // now file pointer should point to end of the file, try reading again
73: var_dump( feof($file_handle) );
74: var_dump( fgetcsv($file_handle, 1024, $delimiter) ); // with length, delimiter
75: // check the file pointer position and if eof
76: var_dump( ftell($file_handle) );
77: var_dump( feof($file_handle) );
78: // close the file
79: fclose($file_handle);
80: //delete file
81: unlink($filename);
82: } //end of mode loop
83: } // end of foreach
84:
85: echo "Done\n";
86: ?>
87: --EXPECTF--
88: *** Testing fgetcsv() : with default enclosure, file pointer pointing at end of file ***
89:
90: -- Testing fgetcsv() with file opened using r mode --
91: int(0)
92: bool(false)
93: bool(false)
94: int(53)
95: bool(true)
96:
97: -- Testing fgetcsv() with file opened using rb mode --
98: int(0)
99: bool(false)
100: bool(false)
101: int(53)
102: bool(true)
103:
104: -- Testing fgetcsv() with file opened using rt mode --
105: int(0)
106: bool(false)
107: bool(false)
108: int(%d)
109: bool(true)
110:
111: -- Testing fgetcsv() with file opened using r+ mode --
112: int(0)
113: bool(false)
114: bool(false)
115: int(53)
116: bool(true)
117:
118: -- Testing fgetcsv() with file opened using r+b mode --
119: int(0)
120: bool(false)
121: bool(false)
122: int(53)
123: bool(true)
124:
125: -- Testing fgetcsv() with file opened using r+t mode --
126: int(0)
127: bool(false)
128: bool(false)
129: int(%d)
130: bool(true)
131:
132: -- Testing fgetcsv() with file opened using a+ mode --
133: int(0)
134: bool(false)
135: bool(false)
136: int(53)
137: bool(true)
138:
139: -- Testing fgetcsv() with file opened using a+b mode --
140: int(0)
141: bool(false)
142: bool(false)
143: int(53)
144: bool(true)
145:
146: -- Testing fgetcsv() with file opened using a+t mode --
147: int(0)
148: bool(false)
149: bool(false)
150: int(%d)
151: bool(true)
152:
153: -- Testing fgetcsv() with file opened using w+ mode --
154: int(0)
155: bool(false)
156: bool(false)
157: int(53)
158: bool(true)
159:
160: -- Testing fgetcsv() with file opened using w+b mode --
161: int(0)
162: bool(false)
163: bool(false)
164: int(53)
165: bool(true)
166:
167: -- Testing fgetcsv() with file opened using w+t mode --
168: int(0)
169: bool(false)
170: bool(false)
171: int(%d)
172: bool(true)
173:
174: -- Testing fgetcsv() with file opened using x+ mode --
175: int(0)
176: bool(false)
177: bool(false)
178: int(53)
179: bool(true)
180:
181: -- Testing fgetcsv() with file opened using x+b mode --
182: int(0)
183: bool(false)
184: bool(false)
185: int(53)
186: bool(true)
187:
188: -- Testing fgetcsv() with file opened using x+t mode --
189: int(0)
190: bool(false)
191: bool(false)
192: int(%d)
193: bool(true)
194:
195: -- Testing fgetcsv() with file opened using r mode --
196: int(0)
197: bool(false)
198: bool(false)
199: int(53)
200: bool(true)
201:
202: -- Testing fgetcsv() with file opened using rb mode --
203: int(0)
204: bool(false)
205: bool(false)
206: int(53)
207: bool(true)
208:
209: -- Testing fgetcsv() with file opened using rt mode --
210: int(0)
211: bool(false)
212: bool(false)
213: int(%d)
214: bool(true)
215:
216: -- Testing fgetcsv() with file opened using r+ mode --
217: int(0)
218: bool(false)
219: bool(false)
220: int(53)
221: bool(true)
222:
223: -- Testing fgetcsv() with file opened using r+b mode --
224: int(0)
225: bool(false)
226: bool(false)
227: int(53)
228: bool(true)
229:
230: -- Testing fgetcsv() with file opened using r+t mode --
231: int(0)
232: bool(false)
233: bool(false)
234: int(%d)
235: bool(true)
236:
237: -- Testing fgetcsv() with file opened using a+ mode --
238: int(0)
239: bool(false)
240: bool(false)
241: int(53)
242: bool(true)
243:
244: -- Testing fgetcsv() with file opened using a+b mode --
245: int(0)
246: bool(false)
247: bool(false)
248: int(53)
249: bool(true)
250:
251: -- Testing fgetcsv() with file opened using a+t mode --
252: int(0)
253: bool(false)
254: bool(false)
255: int(%d)
256: bool(true)
257:
258: -- Testing fgetcsv() with file opened using w+ mode --
259: int(0)
260: bool(false)
261: bool(false)
262: int(53)
263: bool(true)
264:
265: -- Testing fgetcsv() with file opened using w+b mode --
266: int(0)
267: bool(false)
268: bool(false)
269: int(53)
270: bool(true)
271:
272: -- Testing fgetcsv() with file opened using w+t mode --
273: int(0)
274: bool(false)
275: bool(false)
276: int(%d)
277: bool(true)
278:
279: -- Testing fgetcsv() with file opened using x+ mode --
280: int(0)
281: bool(false)
282: bool(false)
283: int(53)
284: bool(true)
285:
286: -- Testing fgetcsv() with file opened using x+b mode --
287: int(0)
288: bool(false)
289: bool(false)
290: int(53)
291: bool(true)
292:
293: -- Testing fgetcsv() with file opened using x+t mode --
294: int(0)
295: bool(false)
296: bool(false)
297: int(%d)
298: bool(true)
299:
300: -- Testing fgetcsv() with file opened using r mode --
301: int(0)
302: bool(false)
303: bool(false)
304: int(57)
305: bool(true)
306:
307: -- Testing fgetcsv() with file opened using rb mode --
308: int(0)
309: bool(false)
310: bool(false)
311: int(57)
312: bool(true)
313:
314: -- Testing fgetcsv() with file opened using rt mode --
315: int(0)
316: bool(false)
317: bool(false)
318: int(%d)
319: bool(true)
320:
321: -- Testing fgetcsv() with file opened using r+ mode --
322: int(0)
323: bool(false)
324: bool(false)
325: int(57)
326: bool(true)
327:
328: -- Testing fgetcsv() with file opened using r+b mode --
329: int(0)
330: bool(false)
331: bool(false)
332: int(57)
333: bool(true)
334:
335: -- Testing fgetcsv() with file opened using r+t mode --
336: int(0)
337: bool(false)
338: bool(false)
339: int(%d)
340: bool(true)
341:
342: -- Testing fgetcsv() with file opened using a+ mode --
343: int(0)
344: bool(false)
345: bool(false)
346: int(57)
347: bool(true)
348:
349: -- Testing fgetcsv() with file opened using a+b mode --
350: int(0)
351: bool(false)
352: bool(false)
353: int(57)
354: bool(true)
355:
356: -- Testing fgetcsv() with file opened using a+t mode --
357: int(0)
358: bool(false)
359: bool(false)
360: int(%d)
361: bool(true)
362:
363: -- Testing fgetcsv() with file opened using w+ mode --
364: int(0)
365: bool(false)
366: bool(false)
367: int(57)
368: bool(true)
369:
370: -- Testing fgetcsv() with file opened using w+b mode --
371: int(0)
372: bool(false)
373: bool(false)
374: int(57)
375: bool(true)
376:
377: -- Testing fgetcsv() with file opened using w+t mode --
378: int(0)
379: bool(false)
380: bool(false)
381: int(%d)
382: bool(true)
383:
384: -- Testing fgetcsv() with file opened using x+ mode --
385: int(0)
386: bool(false)
387: bool(false)
388: int(57)
389: bool(true)
390:
391: -- Testing fgetcsv() with file opened using x+b mode --
392: int(0)
393: bool(false)
394: bool(false)
395: int(57)
396: bool(true)
397:
398: -- Testing fgetcsv() with file opened using x+t mode --
399: int(0)
400: bool(false)
401: bool(false)
402: int(%d)
403: bool(true)
404:
405: -- Testing fgetcsv() with file opened using r mode --
406: int(0)
407: bool(false)
408: bool(false)
409: int(61)
410: bool(true)
411:
412: -- Testing fgetcsv() with file opened using rb mode --
413: int(0)
414: bool(false)
415: bool(false)
416: int(61)
417: bool(true)
418:
419: -- Testing fgetcsv() with file opened using rt mode --
420: int(0)
421: bool(false)
422: bool(false)
423: int(%d)
424: bool(true)
425:
426: -- Testing fgetcsv() with file opened using r+ mode --
427: int(0)
428: bool(false)
429: bool(false)
430: int(61)
431: bool(true)
432:
433: -- Testing fgetcsv() with file opened using r+b mode --
434: int(0)
435: bool(false)
436: bool(false)
437: int(61)
438: bool(true)
439:
440: -- Testing fgetcsv() with file opened using r+t mode --
441: int(0)
442: bool(false)
443: bool(false)
444: int(%d)
445: bool(true)
446:
447: -- Testing fgetcsv() with file opened using a+ mode --
448: int(0)
449: bool(false)
450: bool(false)
451: int(61)
452: bool(true)
453:
454: -- Testing fgetcsv() with file opened using a+b mode --
455: int(0)
456: bool(false)
457: bool(false)
458: int(61)
459: bool(true)
460:
461: -- Testing fgetcsv() with file opened using a+t mode --
462: int(0)
463: bool(false)
464: bool(false)
465: int(%d)
466: bool(true)
467:
468: -- Testing fgetcsv() with file opened using w+ mode --
469: int(0)
470: bool(false)
471: bool(false)
472: int(61)
473: bool(true)
474:
475: -- Testing fgetcsv() with file opened using w+b mode --
476: int(0)
477: bool(false)
478: bool(false)
479: int(61)
480: bool(true)
481:
482: -- Testing fgetcsv() with file opened using w+t mode --
483: int(0)
484: bool(false)
485: bool(false)
486: int(%d)
487: bool(true)
488:
489: -- Testing fgetcsv() with file opened using x+ mode --
490: int(0)
491: bool(false)
492: bool(false)
493: int(61)
494: bool(true)
495:
496: -- Testing fgetcsv() with file opened using x+b mode --
497: int(0)
498: bool(false)
499: bool(false)
500: int(61)
501: bool(true)
502:
503: -- Testing fgetcsv() with file opened using x+t mode --
504: int(0)
505: bool(false)
506: bool(false)
507: int(%d)
508: bool(true)
509:
510: -- Testing fgetcsv() with file opened using r mode --
511: int(0)
512: bool(false)
513: bool(false)
514: int(61)
515: bool(true)
516:
517: -- Testing fgetcsv() with file opened using rb mode --
518: int(0)
519: bool(false)
520: bool(false)
521: int(61)
522: bool(true)
523:
524: -- Testing fgetcsv() with file opened using rt mode --
525: int(0)
526: bool(false)
527: bool(false)
528: int(%d)
529: bool(true)
530:
531: -- Testing fgetcsv() with file opened using r+ mode --
532: int(0)
533: bool(false)
534: bool(false)
535: int(61)
536: bool(true)
537:
538: -- Testing fgetcsv() with file opened using r+b mode --
539: int(0)
540: bool(false)
541: bool(false)
542: int(61)
543: bool(true)
544:
545: -- Testing fgetcsv() with file opened using r+t mode --
546: int(0)
547: bool(false)
548: bool(false)
549: int(%d)
550: bool(true)
551:
552: -- Testing fgetcsv() with file opened using a+ mode --
553: int(0)
554: bool(false)
555: bool(false)
556: int(61)
557: bool(true)
558:
559: -- Testing fgetcsv() with file opened using a+b mode --
560: int(0)
561: bool(false)
562: bool(false)
563: int(61)
564: bool(true)
565:
566: -- Testing fgetcsv() with file opened using a+t mode --
567: int(0)
568: bool(false)
569: bool(false)
570: int(%d)
571: bool(true)
572:
573: -- Testing fgetcsv() with file opened using w+ mode --
574: int(0)
575: bool(false)
576: bool(false)
577: int(61)
578: bool(true)
579:
580: -- Testing fgetcsv() with file opened using w+b mode --
581: int(0)
582: bool(false)
583: bool(false)
584: int(61)
585: bool(true)
586:
587: -- Testing fgetcsv() with file opened using w+t mode --
588: int(0)
589: bool(false)
590: bool(false)
591: int(%d)
592: bool(true)
593:
594: -- Testing fgetcsv() with file opened using x+ mode --
595: int(0)
596: bool(false)
597: bool(false)
598: int(61)
599: bool(true)
600:
601: -- Testing fgetcsv() with file opened using x+b mode --
602: int(0)
603: bool(false)
604: bool(false)
605: int(61)
606: bool(true)
607:
608: -- Testing fgetcsv() with file opened using x+t mode --
609: int(0)
610: bool(false)
611: bool(false)
612: int(%d)
613: bool(true)
614: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>