SplFileObject_fputcsv.phpt 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  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. --CLEAN--
  49. <?php
  50. $file = __DIR__ . '/SplFileObject_fputcsv.csv';
  51. unlink($file);
  52. ?>
  53. --EXPECT--
  54. $list = array (
  55. 0 => 'aaa,bbb',
  56. 1 => 'aaa,"""bbb"""',
  57. 2 => '"""aaa""","""bbb"""',
  58. 3 => 'aaa,bbb',
  59. 4 => '"""aaa""",bbb',
  60. 5 => '"""aaa"""," ""bbb"""',
  61. 6 => ',',
  62. 7 => 'aaa,',
  63. 8 => ',"""aaa"""',
  64. 9 => '"""""",""""""',
  65. 10 => '"""""""""""""",',
  66. 11 => '"""""""""""",aaa',
  67. 12 => 'aaa,"bbb "',
  68. 13 => 'aaa,"""bbb """',
  69. 14 => '"aaa""aaa""","""bbb""bbb"',
  70. 15 => '"aaa""aaa""""""",bbb',
  71. 16 => 'aaa,"""\\"bbb",ccc',
  72. 17 => '"aaa""\\"a""","""bbb"""',
  73. 18 => '"""\\"""","""aaa"""',
  74. 19 => '"""\\"""""",aaa',
  75. );
  76. $list = array (
  77. 0 => 'aaa,bbb',
  78. 1 => 'aaa,"bbb"',
  79. 2 => '"aaa","bbb"',
  80. 3 => 'aaa,bbb',
  81. 4 => '"aaa",bbb',
  82. 5 => '"aaa", "bbb"',
  83. 6 => ',',
  84. 7 => 'aaa,',
  85. 8 => ',"aaa"',
  86. 9 => '"",""',
  87. 10 => '"""""",',
  88. 11 => '""""",aaa',
  89. 12 => 'aaa,bbb ',
  90. 13 => 'aaa,"bbb "',
  91. 14 => 'aaa"aaa","bbb"bbb',
  92. 15 => 'aaa"aaa""",bbb',
  93. 16 => 'aaa,"\\"bbb,ccc',
  94. 17 => 'aaa"\\"a","bbb"',
  95. 18 => '"\\"","aaa"',
  96. 19 => '"\\""",aaa',
  97. );