CsvIssue2840Test.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. namespace PhpOffice\PhpSpreadsheetTests\Reader\Csv;
  3. use PhpOffice\PhpSpreadsheet\Reader\Csv;
  4. use PHPUnit\Framework\TestCase;
  5. class CsvIssue2840Test extends TestCase
  6. {
  7. public function testNullStringIgnore(): void
  8. {
  9. $reader = new Csv();
  10. self::assertFalse($reader->getPreserveNullString());
  11. $inputData = <<<EOF
  12. john,,doe,,
  13. mary,,jane,,
  14. EOF;
  15. $expected = [
  16. ['john', null, 'doe'],
  17. ['mary', null, 'jane'],
  18. ];
  19. $spreadsheet = $reader->loadSpreadsheetFromString($inputData);
  20. $sheet = $spreadsheet->getActiveSheet();
  21. self::assertSame($expected, $sheet->toArray());
  22. $spreadsheet->disconnectWorksheets();
  23. }
  24. public function testNullStringLoad(): void
  25. {
  26. $reader = new Csv();
  27. $reader->setPreserveNullString(true);
  28. $inputData = <<<EOF
  29. john,,doe,,
  30. mary,,jane,,
  31. EOF;
  32. $expected = [
  33. ['john', '', 'doe', '', ''],
  34. ['mary', '', 'jane', '', ''],
  35. ];
  36. $spreadsheet = $reader->loadSpreadsheetFromString($inputData);
  37. $sheet = $spreadsheet->getActiveSheet();
  38. self::assertSame($expected, $sheet->toArray());
  39. $spreadsheet->disconnectWorksheets();
  40. }
  41. }