diff --git a/src/PhpSpreadsheet/Reader/Csv.php b/src/PhpSpreadsheet/Reader/Csv.php index a142ef27..a8567bea 100644 --- a/src/PhpSpreadsheet/Reader/Csv.php +++ b/src/PhpSpreadsheet/Reader/Csv.php @@ -369,7 +369,7 @@ class Csv extends BaseReader return $this->delimiter; } - public function setDelimiter(string $delimiter): self + public function setDelimiter(?string $delimiter): self { $this->delimiter = $delimiter; diff --git a/tests/PhpSpreadsheetTests/Reader/Csv/CsvTest.php b/tests/PhpSpreadsheetTests/Reader/Csv/CsvTest.php index b29655fb..24887f1b 100644 --- a/tests/PhpSpreadsheetTests/Reader/Csv/CsvTest.php +++ b/tests/PhpSpreadsheetTests/Reader/Csv/CsvTest.php @@ -251,4 +251,25 @@ EOF; [(version_compare(PHP_VERSION, '7.4') < 0) ? "\x0" : '', ','], ]; } + + /** + * This test could be simpler, but Scrutinizer has a minor (and silly) problem. + * + * @dataProvider providerNull + */ + public function testSetDelimiterNull(?string $setNull): void + { + $reader = new Csv(); + $reader->setDelimiter(','); + self::assertSame(',', $reader->getDelimiter()); + $reader->setDelimiter($setNull); + self::assertSame($setNull, $reader->getDelimiter()); + } + + public function providerNull(): array + { + return [ + [null], + ]; + } }