13 require_once
'PU_testcase_dcp.php';
28 $oImport->setCsvOptions($separator, $enclosure);
29 $oImport->importDocuments(self::getAction() ,
"DCPTEST/" . $fileName);
31 $this->assertEmpty(
$err,
"import family error : $err");
32 $f = new_doc(
'', $famName);
33 $this->assertTrue($f->isAlive() , sprintf(
"family %s not found", $famName));
34 $this->assertEquals($expected[
"title"], $f->getTitle() ,
"incorrect family title");
35 foreach ($expected[
"alabel"] as $aid => $elabel) {
37 $this->assertEquals($elabel, $f->getLabel($aid) ,
"incorrect attribute label");
39 foreach ($expected[
"doc"] as $k => $v) {
41 $d = new_doc(
'', $v[
"name"]);
42 $this->assertTrue(
$d->isAlive() , sprintf(
"document %s not found", $v[
"name"]));
43 foreach ($v[
"values"] as $aid => $aval) {
44 $this->assertEquals($aval,
$d->getRawValue($aid) , sprintf(
"incorrect attribute [%s] value : %s ", $aid, print_r(
$d->getValues() ,
true)));
56 $oImport = new \importDocumentDescription(
"DCPTEST/" . $fileName);
57 $options =
$oImport->setCsvOptions(
'auto',
'auto');
59 $this->assertEquals($expectedSeparator, $options[
"separator"],
"incorrect csv separator");
60 $this->assertEquals($expectedEnclosure, $options[
"enclosure"],
"incorrect csv enclosure");
67 "PU_data_dcp_goodfamilyforcsvcommadoublequote1.csv",
72 "PU_data_dcp_goodfamilyforcsvsemicolonsinglequote1.csv",
77 "PU_data_dcp_goodfamilyforcsvcommadoublequote2.csv",
82 "PU_data_dcp_goodfamilyforcsvsemicolonsinglequote2.csv",
87 "PU_data_dcp_goodfamilyforcsvsemicolondoublequote1.csv",
92 "PU_data_dcp_goodfamilyforcsvsemicolondoublequote2.csv",
97 "PU_data_dcp_goodfamilyforcsvsemicolonsinglequote2iso.csv",
102 "PU_data_dcp_goodfamilyforcsvsemicolon.csv",
113 "file" =>
"PU_data_dcp_goodfamilyforcsvsemicolon.csv",
116 "famname" =>
"TST_GOODFAMIMPCSVSEMICOLON
119 "title" =>
'Test Famille, "Csv"',
121 "tst_text" =>
'Texte "principal"',
122 "tst_date" =>
"Date, 'principale'"
126 "name" =>
"TST_CVSSEMICOLON1",
128 "tst_title" =>
"Hello",
129 "tst_text" =>
"The world",
130 "tst_coltext" =>
"Un\nDeux",
131 "tst_coldate" =>
"2012-02-17\n2013-06-12"
138 "file" =>
"PU_data_dcp_goodfamilyforcsvcommadoublequote1.csv",
141 "famname" =>
"TST_GOODFAMIMPCSVCOMMA1",
143 "title" =>
'Test Famille, "Csv"',
145 "tst_text" =>
'Texte "principal"',
146 "tst_date" =>
"Date, 'principale'"
150 "name" =>
"TST_CVSCOMMA11",
152 "tst_title" =>
"Hello",
153 "tst_text" =>
"The world",
154 "tst_coltext" =>
"Un\nDeux",
155 "tst_coldate" =>
"2012-02-17\n2013-06-12"
159 "name" =>
"TST_CVSCOMMA12",
161 "tst_title" =>
"Virgule , et ;",
162 "tst_text" =>
'The "world" end "earth"',
163 "tst_coltext" =>
"Un\nDeux",
164 "tst_coldate" =>
"2012-02-18\n2013-10-12"
172 "file" =>
"PU_data_dcp_goodfamilyforcsvcommadoublequote2.csv",
175 "famname" =>
"TST_GOODFAMIMPCSVCOMMA2",
177 "title" =>
'Test Famille, "Csv"',
179 "tst_text" =>
'Texte "principal"',
180 "tst_date" =>
"Date, 'principale'"
184 "name" =>
"TST_CVSCOMMA21",
186 "tst_title" =>
"Hello",
187 "tst_text" =>
"The world",
188 "tst_coltext" =>
"Un\nDeux",
189 "tst_coldate" =>
"2012-02-17\n2013-06-12"
193 "name" =>
"TST_CVSCOMMA22",
195 "tst_title" =>
"Virgule , et ;",
196 "tst_text" =>
'The "world" end "earth"',
197 "tst_coltext" =>
"Un\nDeux",
198 "tst_coldate" =>
"2012-02-18\n2013-10-12"
205 "file" =>
"PU_data_dcp_goodfamilyforcsvsemicolonsinglequote1.csv",
208 "famname" =>
"TST_GOODFAMIMPCSVSEMICOLON1",
210 "title" =>
'Test Famille, "Csv"',
212 "tst_text" =>
'Texte "principal"',
213 "tst_date" =>
"Date, 'principale'"
217 "name" =>
"TST_CSVSEMICOLON11",
219 "tst_title" =>
"Hello",
220 "tst_text" =>
"The world",
221 "tst_coltext" =>
"Un\nDeux",
222 "tst_coldate" =>
"2012-02-17\n2013-06-12"
226 "name" =>
"TST_CSVSEMICOLON12",
228 "tst_title" =>
"Virgule , et ;",
229 "tst_text" =>
"L'être ou le n°3\nAccentué : ça c'est fait",
230 "tst_coltext" =>
"Un\nDeux\nTrois",
231 "tst_coldate" =>
"2012-02-18\n2013-10-12\n"
235 "name" =>
"TST_CSVSEMICOLON13",
237 "tst_title" =>
'quote \' double " point-virgule ; et virgule ,',
238 "tst_text" =>
"The \"world\" \nis beautiful\nisn't it",
239 "tst_coltext" =>
"Un\nDeux\nTrois",
240 "tst_coldate" =>
"2012-02-18\n2013-10-12\n"
247 "file" =>
"PU_data_dcp_goodfamilyforcsvsemicolonsinglequote2.csv",
250 "famname" =>
"TST_GOODFAMIMPCSVSEMICOLON2",
252 "title" =>
'Test Famille, "Csv"',
254 "tst_text" =>
'Texte "principal"',
255 "tst_date" =>
"Date, 'principale'"
259 "name" =>
"TST_CSVSEMICOLON21",
261 "tst_title" =>
"Hello",
262 "tst_text" =>
"The world",
263 "tst_coltext" =>
"Un\nDeux",
264 "tst_coldate" =>
"2012-02-17\n2013-06-12"
268 "name" =>
"TST_CSVSEMICOLON22",
270 "tst_title" =>
"Virgule , et ;",
271 "tst_text" =>
"L'être ou le n°3\nAccentué : ça c'est fait",
272 "tst_coltext" =>
"Un\nDeux\nTrois",
273 "tst_coldate" =>
"2012-02-18\n2013-10-12\n"
277 "name" =>
"TST_CSVSEMICOLON23",
279 "tst_title" =>
'quote \' double " point-virgule ; et virgule ,',
280 "tst_text" =>
"The \"world\" \nis beautiful\nisn't it",
281 "tst_coltext" =>
"Un\nDeux\nTrois",
282 "tst_coldate" =>
"2012-02-18\n2013-10-12\n"
289 "file" =>
"PU_data_dcp_goodfamilyforcsvsemicolonsinglequote2iso.csv",
292 "famname" =>
"TST_GOODFAMIMPCSVSEMICOLON5",
294 "title" =>
'Test Famille, "Csv"',
296 "tst_text" =>
'Texte "principal"',
297 "tst_date" =>
"Date, 'principale'"
301 "name" =>
"TST_CSVSEMICOLON51",
303 "tst_title" =>
"Hello",
304 "tst_text" =>
"The world",
305 "tst_coltext" =>
"Un\nDeux",
306 "tst_coldate" =>
"2012-02-17\n2013-06-12"
310 "name" =>
"TST_CSVSEMICOLON52",
312 "tst_title" =>
"Virgule , et ;",
313 "tst_text" =>
"L'être ou le n°3\nAccentué : ça c'est fait",
314 "tst_coltext" =>
"Un\nDeux\nTrois",
315 "tst_coldate" =>
"2012-02-18\n2013-10-12\n"
319 "name" =>
"TST_CSVSEMICOLON53",
321 "tst_title" =>
'quote \' double " point-virgule ; et virgule ,',
322 "tst_text" =>
"The \"world\" \nis beautiful\nisn't it",
323 "tst_coltext" =>
"Un\nDeux\nTrois",
324 "tst_coldate" =>
"2012-02-18\n2013-10-12\n"
331 "file" =>
"PU_data_dcp_goodfamilyforcsvsemicolondoublequote1.csv",
334 "famname" =>
"TST_GOODFAMIMPCSVSEMICOLON3",
336 "title" =>
'Test Famille, "Csv"',
338 "tst_text" =>
'Texte "principal"',
339 "tst_date" =>
"Date, 'principale'"
343 "name" =>
"TST_CSVSEMICOLON31",
345 "tst_title" =>
"Hello",
346 "tst_text" =>
"The world",
347 "tst_coltext" =>
"Un\nDeux",
348 "tst_coldate" =>
"2012-02-17\n2013-06-12"
352 "name" =>
"TST_CSVSEMICOLON32",
354 "tst_title" =>
"Virgule , et ;",
355 "tst_text" =>
"L'être ou le n°3\nAccentué : ça c'est fait",
356 "tst_coltext" =>
"Un\nDeux\nTrois",
357 "tst_coldate" =>
"2012-02-18\n2013-10-12\n"
361 "name" =>
"TST_CSVSEMICOLON33",
363 "tst_title" =>
'quote \' double " point-virgule ; et virgule ,',
364 "tst_text" =>
"The \"world\" \nis beautiful\nisn't it",
365 "tst_coltext" =>
"Un\nDeux\nTrois",
366 "tst_coldate" =>
"2012-02-18\n2013-10-12\n"
373 "file" =>
"PU_data_dcp_goodfamilyforcsvsemicolondoublequote2.csv",
376 "famname" =>
"TST_GOODFAMIMPCSVSEMICOLON4",
378 "title" =>
'Test Famille, "Csv"',
380 "tst_text" =>
'Texte "principal"',
381 "tst_date" =>
"Date, 'principale'"
385 "name" =>
"TST_CSVSEMICOLON41",
387 "tst_title" =>
"Hello",
388 "tst_text" =>
"The world",
389 "tst_coltext" =>
"Un\nDeux",
390 "tst_coldate" =>
"2012-02-17\n2013-06-12"
394 "name" =>
"TST_CSVSEMICOLON42",
396 "tst_title" =>
"Virgule , et ;",
397 "tst_text" =>
"L'être ou le n°3\nAccentué : ça c'est fait",
398 "tst_coltext" =>
"Un\nDeux\nTrois",
399 "tst_coldate" =>
"2012-02-18\n2013-10-12\n"
403 "name" =>
"TST_CSVSEMICOLON43",
405 "tst_title" =>
'quote \' double " point-virgule ; et virgule ,',
406 "tst_text" =>
"The \"world\" \nis beautiful\nisn't it",
407 "tst_coltext" =>
"Un\nDeux\nTrois",
408 "tst_coldate" =>
"2012-02-18\n2013-10-12\n"
415 "file" =>
"PU_data_dcp_goodfamilyforcsvcommai.csv",
418 "famname" =>
"TST_GOODFAMIMPCSVSEMICOMMAI",
420 "title" =>
'Test Famille, "Csv"',
422 "tst_text" =>
'Texte "principal"',
423 "tst_date" =>
"Date, 'principale'"
427 "name" =>
"TST_CVSSEMICOMMAI1",
429 "tst_title" =>
"Hello",
430 "tst_text" =>
"The i world",
431 "tst_coltext" =>
"i\nii\niii\niv",
432 "tst_coldate" =>
"2012-02-17\n2013-06-12\n2012-12-17\n2013-06-17"
436 "name" =>
"TST_CVSSEMICOMMAI2",
438 "tst_title" =>
"Le monde des i's",
439 "tst_text" =>
"The \"i world\" \nis beautiful\nisn't it",
440 "tst_coltext" =>
"i\nii\niii",
441 "tst_coldate" =>
"2012-02-18\n2013-10-12\n2013-10-13"
448 "file" =>
"PU_data_dcp_goodfamilyforcsvcommadoublequote2iso.csv",
449 "separator" =>
"auto",
450 "enclosure" =>
'auto',
451 "famname" =>
"TST_GOODFAMIMPCSVCOMMA3",
453 "title" =>
'Test Famille, "Csv"',
455 "tst_text" =>
'Texte "principal"',
456 "tst_date" =>
"Date, 'principale'"
460 "name" =>
"TST_CVSCOMMA31",
462 "tst_title" =>
"Hello",
463 "tst_text" =>
"Le monde à l'été",
464 "tst_coltext" =>
"Un\nDeux",
465 "tst_coldate" =>
"2012-02-17\n2013-06-12"
469 "name" =>
"TST_CVSCOMMA32",
471 "tst_title" =>
"Virgule , et ;",
472 "tst_text" =>
'The "world" end "earth"',
473 "tst_coltext" =>
"Un\nDeux",
474 "tst_coldate" =>
"2012-02-18\n2013-10-12"
testImportCsvFamily($fileName, $separator, $enclosure, $famName, $expected)
testDetectCsvOptions($fileName, $expectedSeparator, $expectedEnclosure)
if($file) if($subject==""&&$file) if($subject=="") $err