From 3b4dfba38e2d612b369f2667420568f601e60e8a Mon Sep 17 00:00:00 2001 From: Adrien Loison Date: Wed, 29 Apr 2015 11:39:21 -0700 Subject: [PATCH] Improve code coverage --- .../Common/Helper/GlobalFunctionsHelper.php | 15 +++++++++ src/Spout/Writer/CSV.php | 2 +- tests/Spout/Reader/XLSXTest.php | 31 +++++++++++++++++++ 3 files changed, 47 insertions(+), 1 deletion(-) diff --git a/src/Spout/Common/Helper/GlobalFunctionsHelper.php b/src/Spout/Common/Helper/GlobalFunctionsHelper.php index 550a6b1..eb02c3f 100644 --- a/src/Spout/Common/Helper/GlobalFunctionsHelper.php +++ b/src/Spout/Common/Helper/GlobalFunctionsHelper.php @@ -91,6 +91,21 @@ class GlobalFunctionsHelper return fgetcsv($handle, $length, $delimiter, $enclosure); } + /** + * Wrapper around global function fputcsv() + * @see fputcsv() + * + * @param resource $handle + * @param array $fields + * @param string|void $delimiter + * @param string|void $enclosure + * @return int + */ + public function fputcsv($handle, array $fields, $delimiter = null, $enclosure = null) + { + return fputcsv($handle, $fields, $delimiter, $enclosure); + } + /** * Wrapper around global function fclose() * @see fclose() diff --git a/src/Spout/Writer/CSV.php b/src/Spout/Writer/CSV.php index 0ac8d91..59e37a7 100644 --- a/src/Spout/Writer/CSV.php +++ b/src/Spout/Writer/CSV.php @@ -73,7 +73,7 @@ class CSV extends AbstractWriter */ protected function addRowToWriter(array $dataRow) { - $wasWriteSuccessful = fputcsv($this->filePointer, $dataRow, $this->fieldDelimiter, $this->fieldEnclosure); + $wasWriteSuccessful = $this->globalFunctionsHelper->fputcsv($this->filePointer, $dataRow, $this->fieldDelimiter, $this->fieldEnclosure); if ($wasWriteSuccessful === false) { throw new IOException('Unable to write data'); } diff --git a/tests/Spout/Reader/XLSXTest.php b/tests/Spout/Reader/XLSXTest.php index 3a1a34f..18586d5 100644 --- a/tests/Spout/Reader/XLSXTest.php +++ b/tests/Spout/Reader/XLSXTest.php @@ -38,6 +38,37 @@ class XLSXTest extends \PHPUnit_Framework_TestCase $this->getAllRowsForFile($filePath); } + /** + * @expectedException \Box\Spout\Reader\Exception\ReaderNotOpenedException + * + * @return void + */ + public function testHasNextSheetShouldThrowExceptionIfReaderNotOpened() + { + $reader = ReaderFactory::create(Type::XLSX); + $reader->hasNextSheet(); + } + + /** + * @expectedException \Box\Spout\Reader\Exception\EndOfWorksheetsReachedException + * + * @return void + */ + public function testNextSheetShouldThrowExceptionIfNoMoreSheetsToRead() + { + $fileName = 'one_sheet_with_shared_strings.xlsx'; + $resourcePath = $this->getResourcePath($fileName); + + $reader = ReaderFactory::create(Type::XLSX); + $reader->open($resourcePath); + + while ($reader->hasNextSheet()) { + $reader->nextSheet(); + } + + $reader->nextSheet(); + } + /** * @return array */