Annotation of embedaddon/php/ext/standard/tests/file/fputcsv_variation14.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test fputcsv() : usage variations - with enclosure & delimiter of two chars(read only modes)
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: /* Testing fputcsv() to write to a file when default enclosure value and delimiter
11: of two chars is provided and file is opened in read only mode */
12:
13: echo "*** Testing fputcsv() : with enclosure & delimiter of two chars and file opened in read mode ***\n";
14:
15: /* the array is with three elements in it. Each element should be read as
16: 1st element is delimiter, 2nd element is enclosure
17: and 3rd element is csv fields
18: */
19: $csv_lists = array (
20: array(',', '"', array('water,fruit') ),
21: array(',', '"', array('"water","fruit') ),
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-air')),
27: array('-', '-', array('-water---fruit---air-')),
28: array(':', '&', array('&""""&:&"&:,:":&,&:,,,,'))
29:
30: );
31: $file_path = dirname(__FILE__);
32: $filename = "$file_path/fputcsv_variation14.tmp";
33:
34: $file_modes = array ("r", "rb", "rt");
35:
36: // create the file
37: $file_handle = fopen($filename, "w" );
38: if ( !$file_handle ) {
39: echo "Error: failed to create file $filename!\n";
40: exit();
41: }
42: fclose($file_handle);
43:
44: $loop_counter = 1;
45: foreach ($csv_lists as $csv_list) {
46: for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) {
47: // create the file
48: $file_handle = fopen($filename, "w" );
49: if ( !$file_handle ) {
50: echo "Error: failed to create file $filename!\n";
51: exit();
52: }
53: fclose($file_handle);
54:
55: echo "\n-- file opened in $file_modes[$mode_counter] --\n";
56: // add the content with has csv fields
57: $file_handle = fopen($filename, $file_modes[$mode_counter] );
58: if ( !$file_handle ) {
59: echo "Error: failed to create file $filename!\n";
60: exit();
61: }
62: $delimiter = $csv_list[0];
63: $enclosure = $csv_list[1];
64: $csv_field = $csv_list[2];
65:
66: // write to a file in csv format
67: var_dump( fputcsv($file_handle, $csv_field, '++', '%%') );
68: // check the file pointer position and eof
69: var_dump( ftell($file_handle) );
70: var_dump( feof($file_handle) );
71: //close the file
72: fclose($file_handle);
73:
74: // print the file contents
75: var_dump( file_get_contents($filename) );
76:
77: //delete file
78: unlink($filename);
79: } //end of mode loop
80: } // end of foreach
81:
82: echo "Done\n";
83: ?>
84: --EXPECTF--
85: *** Testing fputcsv() : with enclosure & delimiter of two chars and file opened in read mode ***
86:
87: -- file opened in r --
88:
89: Notice: fputcsv(): delimiter must be a single character in %s on line %d
90:
91: Notice: fputcsv(): enclosure must be a single character in %s on line %d
92: int(0)
93: int(0)
94: bool(false)
95: string(0) ""
96:
97: -- file opened in rb --
98:
99: Notice: fputcsv(): delimiter must be a single character in %s on line %d
100:
101: Notice: fputcsv(): enclosure must be a single character in %s on line %d
102: int(0)
103: int(0)
104: bool(false)
105: string(0) ""
106:
107: -- file opened in rt --
108:
109: Notice: fputcsv(): delimiter must be a single character in %s on line %d
110:
111: Notice: fputcsv(): enclosure must be a single character in %s on line %d
112: int(0)
113: int(0)
114: bool(false)
115: string(0) ""
116:
117: -- file opened in r --
118:
119: Notice: fputcsv(): delimiter must be a single character in %s on line %d
120:
121: Notice: fputcsv(): enclosure must be a single character in %s on line %d
122: int(0)
123: int(0)
124: bool(false)
125: string(0) ""
126:
127: -- file opened in rb --
128:
129: Notice: fputcsv(): delimiter must be a single character in %s on line %d
130:
131: Notice: fputcsv(): enclosure must be a single character in %s on line %d
132: int(0)
133: int(0)
134: bool(false)
135: string(0) ""
136:
137: -- file opened in rt --
138:
139: Notice: fputcsv(): delimiter must be a single character in %s on line %d
140:
141: Notice: fputcsv(): enclosure must be a single character in %s on line %d
142: int(0)
143: int(0)
144: bool(false)
145: string(0) ""
146:
147: -- file opened in r --
148:
149: Notice: fputcsv(): delimiter must be a single character in %s on line %d
150:
151: Notice: fputcsv(): enclosure must be a single character in %s on line %d
152: int(0)
153: int(0)
154: bool(false)
155: string(0) ""
156:
157: -- file opened in rb --
158:
159: Notice: fputcsv(): delimiter must be a single character in %s on line %d
160:
161: Notice: fputcsv(): enclosure must be a single character in %s on line %d
162: int(0)
163: int(0)
164: bool(false)
165: string(0) ""
166:
167: -- file opened in rt --
168:
169: Notice: fputcsv(): delimiter must be a single character in %s on line %d
170:
171: Notice: fputcsv(): enclosure must be a single character in %s on line %d
172: int(0)
173: int(0)
174: bool(false)
175: string(0) ""
176:
177: -- file opened in r --
178:
179: Notice: fputcsv(): delimiter must be a single character in %s on line %d
180:
181: Notice: fputcsv(): enclosure must be a single character in %s on line %d
182: int(0)
183: int(0)
184: bool(false)
185: string(0) ""
186:
187: -- file opened in rb --
188:
189: Notice: fputcsv(): delimiter must be a single character in %s on line %d
190:
191: Notice: fputcsv(): enclosure must be a single character in %s on line %d
192: int(0)
193: int(0)
194: bool(false)
195: string(0) ""
196:
197: -- file opened in rt --
198:
199: Notice: fputcsv(): delimiter must be a single character in %s on line %d
200:
201: Notice: fputcsv(): enclosure must be a single character in %s on line %d
202: int(0)
203: int(0)
204: bool(false)
205: string(0) ""
206:
207: -- file opened in r --
208:
209: Notice: fputcsv(): delimiter must be a single character in %s on line %d
210:
211: Notice: fputcsv(): enclosure must be a single character in %s on line %d
212: int(0)
213: int(0)
214: bool(false)
215: string(0) ""
216:
217: -- file opened in rb --
218:
219: Notice: fputcsv(): delimiter must be a single character in %s on line %d
220:
221: Notice: fputcsv(): enclosure must be a single character in %s on line %d
222: int(0)
223: int(0)
224: bool(false)
225: string(0) ""
226:
227: -- file opened in rt --
228:
229: Notice: fputcsv(): delimiter must be a single character in %s on line %d
230:
231: Notice: fputcsv(): enclosure must be a single character in %s on line %d
232: int(0)
233: int(0)
234: bool(false)
235: string(0) ""
236:
237: -- file opened in r --
238:
239: Notice: fputcsv(): delimiter must be a single character in %s on line %d
240:
241: Notice: fputcsv(): enclosure must be a single character in %s on line %d
242: int(0)
243: int(0)
244: bool(false)
245: string(0) ""
246:
247: -- file opened in rb --
248:
249: Notice: fputcsv(): delimiter must be a single character in %s on line %d
250:
251: Notice: fputcsv(): enclosure must be a single character in %s on line %d
252: int(0)
253: int(0)
254: bool(false)
255: string(0) ""
256:
257: -- file opened in rt --
258:
259: Notice: fputcsv(): delimiter must be a single character in %s on line %d
260:
261: Notice: fputcsv(): enclosure must be a single character in %s on line %d
262: int(0)
263: int(0)
264: bool(false)
265: string(0) ""
266:
267: -- file opened in r --
268:
269: Notice: fputcsv(): delimiter must be a single character in %s on line %d
270:
271: Notice: fputcsv(): enclosure must be a single character in %s on line %d
272: int(0)
273: int(0)
274: bool(false)
275: string(0) ""
276:
277: -- file opened in rb --
278:
279: Notice: fputcsv(): delimiter must be a single character in %s on line %d
280:
281: Notice: fputcsv(): enclosure must be a single character in %s on line %d
282: int(0)
283: int(0)
284: bool(false)
285: string(0) ""
286:
287: -- file opened in rt --
288:
289: Notice: fputcsv(): delimiter must be a single character in %s on line %d
290:
291: Notice: fputcsv(): enclosure must be a single character in %s on line %d
292: int(0)
293: int(0)
294: bool(false)
295: string(0) ""
296:
297: -- file opened in r --
298:
299: Notice: fputcsv(): delimiter must be a single character in %s on line %d
300:
301: Notice: fputcsv(): enclosure must be a single character in %s on line %d
302: int(0)
303: int(0)
304: bool(false)
305: string(0) ""
306:
307: -- file opened in rb --
308:
309: Notice: fputcsv(): delimiter must be a single character in %s on line %d
310:
311: Notice: fputcsv(): enclosure must be a single character in %s on line %d
312: int(0)
313: int(0)
314: bool(false)
315: string(0) ""
316:
317: -- file opened in rt --
318:
319: Notice: fputcsv(): delimiter must be a single character in %s on line %d
320:
321: Notice: fputcsv(): enclosure must be a single character in %s on line %d
322: int(0)
323: int(0)
324: bool(false)
325: string(0) ""
326:
327: -- file opened in r --
328:
329: Notice: fputcsv(): delimiter must be a single character in %s on line %d
330:
331: Notice: fputcsv(): enclosure must be a single character in %s on line %d
332: int(0)
333: int(0)
334: bool(false)
335: string(0) ""
336:
337: -- file opened in rb --
338:
339: Notice: fputcsv(): delimiter must be a single character in %s on line %d
340:
341: Notice: fputcsv(): enclosure must be a single character in %s on line %d
342: int(0)
343: int(0)
344: bool(false)
345: string(0) ""
346:
347: -- file opened in rt --
348:
349: Notice: fputcsv(): delimiter must be a single character in %s on line %d
350:
351: Notice: fputcsv(): enclosure must be a single character in %s on line %d
352: int(0)
353: int(0)
354: bool(false)
355: string(0) ""
356: Done
357:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>