Annotation of embedaddon/php/ext/standard/tests/file/fputcsv_variation8.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test fputcsv() : usage variations - with same delimiter and different enclosure
3: --FILE--
4: <?php
5: /*
6: Prototype: array fputcsv ( resource $handle , array $fields [, string $delimiter [, string $enclosure]]] );
7: Description: Format line as CSV and write to the file pointer
8: */
9:
10: /*
11: Testing fputcsv() to write to a file when delimiter is same but enclosure is different from those
12: present in the field to be written to the file
13: */
14:
15: echo "*** Testing fputcsv() : with same delimiter and different enclosure ***\n";
16:
17: /* the array is with three elements in it. Each element should be read as
18: 1st element is delimiter, 2nd element is enclosure
19: and 3rd element is csv fields
20: */
21: $csv_lists = array (
22: array(',', '"', array('water,fruit') ),
23: array(',', '"', array('"water","fruit') ),
24: array(',', '"', array('"water","fruit"') ),
25: array(' ', '^', array('^water^ ^fruit^')),
26: array(':', '&', array('&water&:&fruit&')),
27: array('=', '=', array('=water===fruit=')),
28: array('-', '-', array('-water--fruit-air')),
29: array('-', '-', array('-water---fruit---air-')),
30: array(':', '&', array('&""""&:&"&:,:":&,&:,,,,'))
31:
32: );
33: $file_path = dirname(__FILE__);
34: $filename = "$file_path/fputcsv_variation8.tmp";
35:
36: $file_modes = array ("r+", "r+b", "r+t",
37: "a+", "a+b", "a+t",
38: "w+", "w+b", "w+t",
39: "x+", "x+b", "x+t");
40:
41: $loop_counter = 1;
42: foreach ($csv_lists as $csv_list) {
43: for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) {
44:
45: echo "\n-- file opened in $file_modes[$mode_counter] --\n";
46: // create the file and add the content with has csv fields
47: if ( strstr($file_modes[$mode_counter], "r") ) {
48: $file_handle = fopen($filename, "w");
49: } else {
50: $file_handle = fopen($filename, $file_modes[$mode_counter] );
51: }
52: if ( !$file_handle ) {
53: echo "Error: failed to create file $filename!\n";
54: exit();
55: }
56: $delimiter = $csv_list[0];
57: $enclosure = $csv_list[1];
58: $csv_field = $csv_list[2];
59:
60: // write to a file in csv format
61: var_dump( fputcsv($file_handle, $csv_field, $delimiter, '+') );
62: // check the file pointer position and eof
63: var_dump( ftell($file_handle) );
64: var_dump( feof($file_handle) );
65: //close the file
66: fclose($file_handle);
67:
68: // print the file contents
69: var_dump( file_get_contents($filename) );
70:
71: //delete file
72: unlink($filename);
73: } //end of mode loop
74: } // end of foreach
75:
76: echo "Done\n";
77: ?>
78: --EXPECTF--
79: *** Testing fputcsv() : with same delimiter and different enclosure ***
80:
81: -- file opened in r+ --
82: int(14)
83: int(14)
84: bool(false)
85: string(14) "+water,fruit+
86: "
87:
88: -- file opened in r+b --
89: int(14)
90: int(14)
91: bool(false)
92: string(14) "+water,fruit+
93: "
94:
95: -- file opened in r+t --
96: int(14)
97: int(14)
98: bool(false)
99: string(%d) "+water,fruit+
100: "
101:
102: -- file opened in a+ --
103: int(14)
104: int(14)
105: bool(false)
106: string(14) "+water,fruit+
107: "
108:
109: -- file opened in a+b --
110: int(14)
111: int(14)
112: bool(false)
113: string(14) "+water,fruit+
114: "
115:
116: -- file opened in a+t --
117: int(14)
118: int(14)
119: bool(false)
120: string(%d) "+water,fruit+
121: "
122:
123: -- file opened in w+ --
124: int(14)
125: int(14)
126: bool(false)
127: string(14) "+water,fruit+
128: "
129:
130: -- file opened in w+b --
131: int(14)
132: int(14)
133: bool(false)
134: string(14) "+water,fruit+
135: "
136:
137: -- file opened in w+t --
138: int(14)
139: int(14)
140: bool(false)
141: string(%d) "+water,fruit+
142: "
143:
144: -- file opened in x+ --
145: int(14)
146: int(14)
147: bool(false)
148: string(14) "+water,fruit+
149: "
150:
151: -- file opened in x+b --
152: int(14)
153: int(14)
154: bool(false)
155: string(14) "+water,fruit+
156: "
157:
158: -- file opened in x+t --
159: int(14)
160: int(14)
161: bool(false)
162: string(%d) "+water,fruit+
163: "
164:
165: -- file opened in r+ --
166: int(17)
167: int(17)
168: bool(false)
169: string(17) "+"water","fruit+
170: "
171:
172: -- file opened in r+b --
173: int(17)
174: int(17)
175: bool(false)
176: string(17) "+"water","fruit+
177: "
178:
179: -- file opened in r+t --
180: int(17)
181: int(17)
182: bool(false)
183: string(%d) "+"water","fruit+
184: "
185:
186: -- file opened in a+ --
187: int(17)
188: int(17)
189: bool(false)
190: string(17) "+"water","fruit+
191: "
192:
193: -- file opened in a+b --
194: int(17)
195: int(17)
196: bool(false)
197: string(17) "+"water","fruit+
198: "
199:
200: -- file opened in a+t --
201: int(17)
202: int(17)
203: bool(false)
204: string(%d) "+"water","fruit+
205: "
206:
207: -- file opened in w+ --
208: int(17)
209: int(17)
210: bool(false)
211: string(17) "+"water","fruit+
212: "
213:
214: -- file opened in w+b --
215: int(17)
216: int(17)
217: bool(false)
218: string(17) "+"water","fruit+
219: "
220:
221: -- file opened in w+t --
222: int(17)
223: int(17)
224: bool(false)
225: string(%d) "+"water","fruit+
226: "
227:
228: -- file opened in x+ --
229: int(17)
230: int(17)
231: bool(false)
232: string(17) "+"water","fruit+
233: "
234:
235: -- file opened in x+b --
236: int(17)
237: int(17)
238: bool(false)
239: string(17) "+"water","fruit+
240: "
241:
242: -- file opened in x+t --
243: int(17)
244: int(17)
245: bool(false)
246: string(%d) "+"water","fruit+
247: "
248:
249: -- file opened in r+ --
250: int(18)
251: int(18)
252: bool(false)
253: string(18) "+"water","fruit"+
254: "
255:
256: -- file opened in r+b --
257: int(18)
258: int(18)
259: bool(false)
260: string(18) "+"water","fruit"+
261: "
262:
263: -- file opened in r+t --
264: int(18)
265: int(18)
266: bool(false)
267: string(%d) "+"water","fruit"+
268: "
269:
270: -- file opened in a+ --
271: int(18)
272: int(18)
273: bool(false)
274: string(18) "+"water","fruit"+
275: "
276:
277: -- file opened in a+b --
278: int(18)
279: int(18)
280: bool(false)
281: string(18) "+"water","fruit"+
282: "
283:
284: -- file opened in a+t --
285: int(18)
286: int(18)
287: bool(false)
288: string(%d) "+"water","fruit"+
289: "
290:
291: -- file opened in w+ --
292: int(18)
293: int(18)
294: bool(false)
295: string(18) "+"water","fruit"+
296: "
297:
298: -- file opened in w+b --
299: int(18)
300: int(18)
301: bool(false)
302: string(18) "+"water","fruit"+
303: "
304:
305: -- file opened in w+t --
306: int(18)
307: int(18)
308: bool(false)
309: string(%d) "+"water","fruit"+
310: "
311:
312: -- file opened in x+ --
313: int(18)
314: int(18)
315: bool(false)
316: string(18) "+"water","fruit"+
317: "
318:
319: -- file opened in x+b --
320: int(18)
321: int(18)
322: bool(false)
323: string(18) "+"water","fruit"+
324: "
325:
326: -- file opened in x+t --
327: int(18)
328: int(18)
329: bool(false)
330: string(%d) "+"water","fruit"+
331: "
332:
333: -- file opened in r+ --
334: int(18)
335: int(18)
336: bool(false)
337: string(18) "+^water^ ^fruit^+
338: "
339:
340: -- file opened in r+b --
341: int(18)
342: int(18)
343: bool(false)
344: string(18) "+^water^ ^fruit^+
345: "
346:
347: -- file opened in r+t --
348: int(18)
349: int(18)
350: bool(false)
351: string(%d) "+^water^ ^fruit^+
352: "
353:
354: -- file opened in a+ --
355: int(18)
356: int(18)
357: bool(false)
358: string(18) "+^water^ ^fruit^+
359: "
360:
361: -- file opened in a+b --
362: int(18)
363: int(18)
364: bool(false)
365: string(18) "+^water^ ^fruit^+
366: "
367:
368: -- file opened in a+t --
369: int(18)
370: int(18)
371: bool(false)
372: string(%d) "+^water^ ^fruit^+
373: "
374:
375: -- file opened in w+ --
376: int(18)
377: int(18)
378: bool(false)
379: string(18) "+^water^ ^fruit^+
380: "
381:
382: -- file opened in w+b --
383: int(18)
384: int(18)
385: bool(false)
386: string(18) "+^water^ ^fruit^+
387: "
388:
389: -- file opened in w+t --
390: int(18)
391: int(18)
392: bool(false)
393: string(%d) "+^water^ ^fruit^+
394: "
395:
396: -- file opened in x+ --
397: int(18)
398: int(18)
399: bool(false)
400: string(18) "+^water^ ^fruit^+
401: "
402:
403: -- file opened in x+b --
404: int(18)
405: int(18)
406: bool(false)
407: string(18) "+^water^ ^fruit^+
408: "
409:
410: -- file opened in x+t --
411: int(18)
412: int(18)
413: bool(false)
414: string(%d) "+^water^ ^fruit^+
415: "
416:
417: -- file opened in r+ --
418: int(18)
419: int(18)
420: bool(false)
421: string(18) "+&water&:&fruit&+
422: "
423:
424: -- file opened in r+b --
425: int(18)
426: int(18)
427: bool(false)
428: string(18) "+&water&:&fruit&+
429: "
430:
431: -- file opened in r+t --
432: int(18)
433: int(18)
434: bool(false)
435: string(%d) "+&water&:&fruit&+
436: "
437:
438: -- file opened in a+ --
439: int(18)
440: int(18)
441: bool(false)
442: string(18) "+&water&:&fruit&+
443: "
444:
445: -- file opened in a+b --
446: int(18)
447: int(18)
448: bool(false)
449: string(18) "+&water&:&fruit&+
450: "
451:
452: -- file opened in a+t --
453: int(18)
454: int(18)
455: bool(false)
456: string(%d) "+&water&:&fruit&+
457: "
458:
459: -- file opened in w+ --
460: int(18)
461: int(18)
462: bool(false)
463: string(18) "+&water&:&fruit&+
464: "
465:
466: -- file opened in w+b --
467: int(18)
468: int(18)
469: bool(false)
470: string(18) "+&water&:&fruit&+
471: "
472:
473: -- file opened in w+t --
474: int(18)
475: int(18)
476: bool(false)
477: string(%d) "+&water&:&fruit&+
478: "
479:
480: -- file opened in x+ --
481: int(18)
482: int(18)
483: bool(false)
484: string(18) "+&water&:&fruit&+
485: "
486:
487: -- file opened in x+b --
488: int(18)
489: int(18)
490: bool(false)
491: string(18) "+&water&:&fruit&+
492: "
493:
494: -- file opened in x+t --
495: int(18)
496: int(18)
497: bool(false)
498: string(%d) "+&water&:&fruit&+
499: "
500:
501: -- file opened in r+ --
502: int(18)
503: int(18)
504: bool(false)
505: string(18) "+=water===fruit=+
506: "
507:
508: -- file opened in r+b --
509: int(18)
510: int(18)
511: bool(false)
512: string(18) "+=water===fruit=+
513: "
514:
515: -- file opened in r+t --
516: int(18)
517: int(18)
518: bool(false)
519: string(%d) "+=water===fruit=+
520: "
521:
522: -- file opened in a+ --
523: int(18)
524: int(18)
525: bool(false)
526: string(18) "+=water===fruit=+
527: "
528:
529: -- file opened in a+b --
530: int(18)
531: int(18)
532: bool(false)
533: string(18) "+=water===fruit=+
534: "
535:
536: -- file opened in a+t --
537: int(18)
538: int(18)
539: bool(false)
540: string(%d) "+=water===fruit=+
541: "
542:
543: -- file opened in w+ --
544: int(18)
545: int(18)
546: bool(false)
547: string(18) "+=water===fruit=+
548: "
549:
550: -- file opened in w+b --
551: int(18)
552: int(18)
553: bool(false)
554: string(18) "+=water===fruit=+
555: "
556:
557: -- file opened in w+t --
558: int(18)
559: int(18)
560: bool(false)
561: string(%d) "+=water===fruit=+
562: "
563:
564: -- file opened in x+ --
565: int(18)
566: int(18)
567: bool(false)
568: string(18) "+=water===fruit=+
569: "
570:
571: -- file opened in x+b --
572: int(18)
573: int(18)
574: bool(false)
575: string(18) "+=water===fruit=+
576: "
577:
578: -- file opened in x+t --
579: int(18)
580: int(18)
581: bool(false)
582: string(%d) "+=water===fruit=+
583: "
584:
585: -- file opened in r+ --
586: int(20)
587: int(20)
588: bool(false)
589: string(20) "+-water--fruit-air+
590: "
591:
592: -- file opened in r+b --
593: int(20)
594: int(20)
595: bool(false)
596: string(20) "+-water--fruit-air+
597: "
598:
599: -- file opened in r+t --
600: int(20)
601: int(20)
602: bool(false)
603: string(%d) "+-water--fruit-air+
604: "
605:
606: -- file opened in a+ --
607: int(20)
608: int(20)
609: bool(false)
610: string(20) "+-water--fruit-air+
611: "
612:
613: -- file opened in a+b --
614: int(20)
615: int(20)
616: bool(false)
617: string(20) "+-water--fruit-air+
618: "
619:
620: -- file opened in a+t --
621: int(20)
622: int(20)
623: bool(false)
624: string(%d) "+-water--fruit-air+
625: "
626:
627: -- file opened in w+ --
628: int(20)
629: int(20)
630: bool(false)
631: string(20) "+-water--fruit-air+
632: "
633:
634: -- file opened in w+b --
635: int(20)
636: int(20)
637: bool(false)
638: string(20) "+-water--fruit-air+
639: "
640:
641: -- file opened in w+t --
642: int(20)
643: int(20)
644: bool(false)
645: string(%d) "+-water--fruit-air+
646: "
647:
648: -- file opened in x+ --
649: int(20)
650: int(20)
651: bool(false)
652: string(20) "+-water--fruit-air+
653: "
654:
655: -- file opened in x+b --
656: int(20)
657: int(20)
658: bool(false)
659: string(20) "+-water--fruit-air+
660: "
661:
662: -- file opened in x+t --
663: int(20)
664: int(20)
665: bool(false)
666: string(%d) "+-water--fruit-air+
667: "
668:
669: -- file opened in r+ --
670: int(24)
671: int(24)
672: bool(false)
673: string(24) "+-water---fruit---air-+
674: "
675:
676: -- file opened in r+b --
677: int(24)
678: int(24)
679: bool(false)
680: string(24) "+-water---fruit---air-+
681: "
682:
683: -- file opened in r+t --
684: int(24)
685: int(24)
686: bool(false)
687: string(%d) "+-water---fruit---air-+
688: "
689:
690: -- file opened in a+ --
691: int(24)
692: int(24)
693: bool(false)
694: string(24) "+-water---fruit---air-+
695: "
696:
697: -- file opened in a+b --
698: int(24)
699: int(24)
700: bool(false)
701: string(24) "+-water---fruit---air-+
702: "
703:
704: -- file opened in a+t --
705: int(24)
706: int(24)
707: bool(false)
708: string(%d) "+-water---fruit---air-+
709: "
710:
711: -- file opened in w+ --
712: int(24)
713: int(24)
714: bool(false)
715: string(24) "+-water---fruit---air-+
716: "
717:
718: -- file opened in w+b --
719: int(24)
720: int(24)
721: bool(false)
722: string(24) "+-water---fruit---air-+
723: "
724:
725: -- file opened in w+t --
726: int(24)
727: int(24)
728: bool(false)
729: string(%d) "+-water---fruit---air-+
730: "
731:
732: -- file opened in x+ --
733: int(24)
734: int(24)
735: bool(false)
736: string(24) "+-water---fruit---air-+
737: "
738:
739: -- file opened in x+b --
740: int(24)
741: int(24)
742: bool(false)
743: string(24) "+-water---fruit---air-+
744: "
745:
746: -- file opened in x+t --
747: int(24)
748: int(24)
749: bool(false)
750: string(%d) "+-water---fruit---air-+
751: "
752:
753: -- file opened in r+ --
754: int(26)
755: int(26)
756: bool(false)
757: string(26) "+&""""&:&"&:,:":&,&:,,,,+
758: "
759:
760: -- file opened in r+b --
761: int(26)
762: int(26)
763: bool(false)
764: string(26) "+&""""&:&"&:,:":&,&:,,,,+
765: "
766:
767: -- file opened in r+t --
768: int(26)
769: int(26)
770: bool(false)
771: string(%d) "+&""""&:&"&:,:":&,&:,,,,+
772: "
773:
774: -- file opened in a+ --
775: int(26)
776: int(26)
777: bool(false)
778: string(26) "+&""""&:&"&:,:":&,&:,,,,+
779: "
780:
781: -- file opened in a+b --
782: int(26)
783: int(26)
784: bool(false)
785: string(26) "+&""""&:&"&:,:":&,&:,,,,+
786: "
787:
788: -- file opened in a+t --
789: int(26)
790: int(26)
791: bool(false)
792: string(%d) "+&""""&:&"&:,:":&,&:,,,,+
793: "
794:
795: -- file opened in w+ --
796: int(26)
797: int(26)
798: bool(false)
799: string(26) "+&""""&:&"&:,:":&,&:,,,,+
800: "
801:
802: -- file opened in w+b --
803: int(26)
804: int(26)
805: bool(false)
806: string(26) "+&""""&:&"&:,:":&,&:,,,,+
807: "
808:
809: -- file opened in w+t --
810: int(26)
811: int(26)
812: bool(false)
813: string(%d) "+&""""&:&"&:,:":&,&:,,,,+
814: "
815:
816: -- file opened in x+ --
817: int(26)
818: int(26)
819: bool(false)
820: string(26) "+&""""&:&"&:,:":&,&:,,,,+
821: "
822:
823: -- file opened in x+b --
824: int(26)
825: int(26)
826: bool(false)
827: string(26) "+&""""&:&"&:,:":&,&:,,,,+
828: "
829:
830: -- file opened in x+t --
831: int(26)
832: int(26)
833: bool(false)
834: string(%d) "+&""""&:&"&:,:":&,&:,,,,+
835: "
836: Done
837:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>