SplFileObject_fputcsv.phpt 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. --TEST--
  2. SplFileObject::fputcsv(): functionality tests
  3. --FILE--
  4. <?php
  5. $file = __DIR__ . '/SplFileObject_fputcsv.csv';
  6. $fo = new SplFileObject($file, 'w');
  7. $list = array (
  8. 0 => 'aaa,bbb',
  9. 1 => 'aaa,"bbb"',
  10. 2 => '"aaa","bbb"',
  11. 3 => 'aaa,bbb',
  12. 4 => '"aaa",bbb',
  13. 5 => '"aaa", "bbb"',
  14. 6 => ',',
  15. 7 => 'aaa,',
  16. 8 => ',"aaa"',
  17. 9 => '"",""',
  18. 10 => '"""""",',
  19. 11 => '""""",aaa',
  20. 12 => 'aaa,bbb ',
  21. 13 => 'aaa,"bbb "',
  22. 14 => 'aaa"aaa","bbb"bbb',
  23. 15 => 'aaa"aaa""",bbb',
  24. 16 => 'aaa,"\\"bbb,ccc',
  25. 17 => 'aaa"\\"a","bbb"',
  26. 18 => '"\\"","aaa"',
  27. 19 => '"\\""",aaa',
  28. );
  29. foreach ($list as $v) {
  30. $fo->fputcsv(explode(',', $v));
  31. }
  32. unset($fo);
  33. $res = file($file);
  34. foreach($res as &$val)
  35. {
  36. $val = substr($val, 0, -1);
  37. }
  38. echo '$list = ';var_export($res);echo ";\n";
  39. $fp = fopen($file, "r");
  40. $res = array();
  41. while($l=fgetcsv($fp))
  42. {
  43. $res[] = join(',',$l);
  44. }
  45. fclose($fp);
  46. echo '$list = ';var_export($res);echo ";\n";
  47. ?>
  48. ===DONE===
  49. <?php exit(0); ?>
  50. --CLEAN--
  51. <?php
  52. $file = __DIR__ . '/SplFileObject_fputcsv.csv';
  53. unlink($file);
  54. ?>
  55. --EXPECT--
  56. $list = array (
  57. 0 => 'aaa,bbb',
  58. 1 => 'aaa,"""bbb"""',
  59. 2 => '"""aaa""","""bbb"""',
  60. 3 => 'aaa,bbb',
  61. 4 => '"""aaa""",bbb',
  62. 5 => '"""aaa"""," ""bbb"""',
  63. 6 => ',',
  64. 7 => 'aaa,',
  65. 8 => ',"""aaa"""',
  66. 9 => '"""""",""""""',
  67. 10 => '"""""""""""""",',
  68. 11 => '"""""""""""",aaa',
  69. 12 => 'aaa,"bbb "',
  70. 13 => 'aaa,"""bbb """',
  71. 14 => '"aaa""aaa""","""bbb""bbb"',
  72. 15 => '"aaa""aaa""""""",bbb',
  73. 16 => 'aaa,"""\\"bbb",ccc',
  74. 17 => '"aaa""\\"a""","""bbb"""',
  75. 18 => '"""\\"""","""aaa"""',
  76. 19 => '"""\\"""""",aaa',
  77. );
  78. $list = array (
  79. 0 => 'aaa,bbb',
  80. 1 => 'aaa,"bbb"',
  81. 2 => '"aaa","bbb"',
  82. 3 => 'aaa,bbb',
  83. 4 => '"aaa",bbb',
  84. 5 => '"aaa", "bbb"',
  85. 6 => ',',
  86. 7 => 'aaa,',
  87. 8 => ',"aaa"',
  88. 9 => '"",""',
  89. 10 => '"""""",',
  90. 11 => '""""",aaa',
  91. 12 => 'aaa,bbb ',
  92. 13 => 'aaa,"bbb "',
  93. 14 => 'aaa"aaa","bbb"bbb',
  94. 15 => 'aaa"aaa""",bbb',
  95. 16 => 'aaa,"\\"bbb,ccc',
  96. 17 => 'aaa"\\"a","bbb"',
  97. 18 => '"\\"","aaa"',
  98. 19 => '"\\""",aaa',
  99. );
  100. ===DONE===