always write rows even with no cells #492

This commit is contained in:
madflow 2017-11-10 10:33:44 +01:00 committed by Adrien Loison
parent 8aec9ea992
commit 7367b89384
2 changed files with 10 additions and 13 deletions

View File

@ -178,18 +178,15 @@ abstract class WriterAbstract implements WriterInterface
public function addRow(Row $row)
{
if ($this->isWriterOpened) {
// empty $dataRow should not add an empty line
if ($row->hasCells()) {
try {
$this->addRowToWriter($row);
} catch (SpoutException $e) {
// if an exception occurs while writing data,
// close the writer and remove all files created so far.
$this->closeAndAttemptToCleanupAllFiles();
try {
$this->addRowToWriter($row);
} catch (SpoutException $e) {
// if an exception occurs while writing data,
// close the writer and remove all files created so far.
$this->closeAndAttemptToCleanupAllFiles();
// re-throw the exception to alert developers of the error
throw $e;
}
// re-throw the exception to alert developers of the error
throw $e;
}
} else {
throw new WriterNotOpenedException('The writer needs to be opened before adding row.');

View File

@ -133,7 +133,7 @@ class WriterTest extends \PHPUnit_Framework_TestCase
/**
* @return void
*/
public function testWriteShouldSkipEmptyRows()
public function testWriteShouldNotSkipEmptyRows()
{
$allRows = $this->createRowsFromValues([
['csv--11', 'csv--12'],
@ -143,7 +143,7 @@ class WriterTest extends \PHPUnit_Framework_TestCase
$writtenContent = $this->writeToCsvFileAndReturnWrittenContent($allRows, 'csv_with_empty_rows.csv');
$writtenContent = $this->trimWrittenContent($writtenContent);
$this->assertEquals("csv--11,csv--12\ncsv--31,csv--32", $writtenContent, 'Empty rows should be skipped');
$this->assertEquals("csv--11,csv--12\n\ncsv--31,csv--32", $writtenContent, 'Empty rows should be skipped');
}
/**