From 9320a10e8b10da8d471479ff6aee37acbdbc40fb Mon Sep 17 00:00:00 2001 From: Jan Date: Fri, 9 Oct 2015 13:31:07 +0200 Subject: [PATCH 01/10] Support for style per column for XLSX and ODS --- src/Spout/Writer/AbstractWriter.php | 27 +++++++++++----- .../Common/Helper/AbstractStyleHelper.php | 31 +++++++++++++------ src/Spout/Writer/ODS/Helper/StyleHelper.php | 7 +++-- src/Spout/Writer/ODS/Internal/Worksheet.php | 8 ++++- src/Spout/Writer/XLSX/Internal/Worksheet.php | 10 ++++-- 5 files changed, 61 insertions(+), 22 deletions(-) diff --git a/src/Spout/Writer/AbstractWriter.php b/src/Spout/Writer/AbstractWriter.php index fa8218f..2658e5a 100644 --- a/src/Spout/Writer/AbstractWriter.php +++ b/src/Spout/Writer/AbstractWriter.php @@ -209,11 +209,15 @@ abstract class AbstractWriter implements WriterInterface */ public function addRowWithStyle(array $dataRow, $style) { - if (!$style instanceof Style\Style) { - throw new InvalidArgumentException('The "$style" argument must be a Style instance and cannot be NULL.'); + $styles = is_array($style) ? $style : [$style]; + + foreach ($styles as $style) { + if (!$style instanceof Style\Style) { + throw new InvalidArgumentException('The "$style" argument must be a Style instance and cannot be NULL.'); + } } - $this->setRowStyle($style); + $this->setRowStyle($styles); $this->addRow($dataRow); $this->resetRowStyleToDefault(); @@ -230,6 +234,7 @@ abstract class AbstractWriter implements WriterInterface * ['data11', 12, , '', 'data13'], * ['data21', 'data22', null, false], * ]; + * * @return AbstractWriter * @throws \Box\Spout\Common\Exception\InvalidArgumentException If the input param is not valid * @throws \Box\Spout\Writer\Exception\WriterNotOpenedException If this function is called before opening the writer @@ -264,11 +269,15 @@ abstract class AbstractWriter implements WriterInterface */ public function addRowsWithStyle(array $dataRows, $style) { - if (!$style instanceof Style\Style) { - throw new InvalidArgumentException('The "$style" argument must be a Style instance and cannot be NULL.'); + $styles = is_array($style) ? $style : [$style]; + + foreach ($styles as $style) { + if (!$style instanceof Style\Style) { + throw new InvalidArgumentException('The "$style" argument must be a Style instance and cannot be NULL.'); + } } - $this->setRowStyle($style); + $this->setRowStyle($styles); $this->addRows($dataRows); $this->resetRowStyleToDefault(); @@ -296,7 +305,11 @@ abstract class AbstractWriter implements WriterInterface private function setRowStyle($style) { // Merge given style with the default one to inherit custom properties - $this->rowStyle = $style->mergeWith($this->defaultRowStyle); + $this->rowStyle = []; + $styles = is_array($style) ? $style : [$style]; + foreach($styles as $style) { + $this->rowStyle[] = $style->mergeWith($this->defaultRowStyle); + } } /** diff --git a/src/Spout/Writer/Common/Helper/AbstractStyleHelper.php b/src/Spout/Writer/Common/Helper/AbstractStyleHelper.php index 70ee8c9..77a6b93 100644 --- a/src/Spout/Writer/Common/Helper/AbstractStyleHelper.php +++ b/src/Spout/Writer/Common/Helper/AbstractStyleHelper.php @@ -34,17 +34,22 @@ abstract class AbstractStyleHelper */ public function registerStyle($style) { - $serializedStyle = $style->serialize(); + $return = []; + $styles = is_array($style) ? $style : [$style]; - if (!$this->hasStyleAlreadyBeenRegistered($style)) { - $nextStyleId = count($this->serializedStyleToStyleIdMappingTable); - $style->setId($nextStyleId); + foreach ($styles as $style) { + $serializedStyle = $style->serialize(); - $this->serializedStyleToStyleIdMappingTable[$serializedStyle] = $nextStyleId; - $this->styleIdToStyleMappingTable[$nextStyleId] = $style; + if (!$this->hasStyleAlreadyBeenRegistered($style)) { + $nextStyleId = count($this->serializedStyleToStyleIdMappingTable); + $style->setId($nextStyleId); + $this->serializedStyleToStyleIdMappingTable[$serializedStyle] = $nextStyleId; + $this->styleIdToStyleMappingTable[$nextStyleId] = $style; + } + $return[] = $this->getStyleFromSerializedStyle($serializedStyle); } - return $this->getStyleFromSerializedStyle($serializedStyle); + return $return; } /** @@ -120,13 +125,19 @@ abstract class AbstractStyleHelper protected function applyWrapTextIfCellContainsNewLine($style, $dataRow) { // if the "wrap text" option is already set, no-op - if ($style->shouldWrapText()) { + if (!is_array($style) && $style->shouldWrapText()) { return $style; } - foreach ($dataRow as $cell) { + foreach ($dataRow as $index => $cell) { if (is_string($cell) && strpos($cell, "\n") !== false) { - $style->setShouldWrapText(); + // if the "wrap text" option is already set, no-op + if (!is_array($style)) { + $style->setShouldWrapText(); + break; + } else if (!$style[$index]->shouldWrapText()) { + $style[$index]->setShouldWrapText(); + } break; } } diff --git a/src/Spout/Writer/ODS/Helper/StyleHelper.php b/src/Spout/Writer/ODS/Helper/StyleHelper.php index f8b0c4d..30d723a 100644 --- a/src/Spout/Writer/ODS/Helper/StyleHelper.php +++ b/src/Spout/Writer/ODS/Helper/StyleHelper.php @@ -24,8 +24,11 @@ class StyleHelper extends AbstractStyleHelper */ public function registerStyle($style) { - $this->usedFontsSet[$style->getFontName()] = true; - return parent::registerStyle($style); + $styles = is_array($style) ? $style : [$style]; + foreach ($styles as $style ) { + $this->usedFontsSet[$style->getFontName()] = true; + } + return parent::registerStyle($styles); } /** diff --git a/src/Spout/Writer/ODS/Internal/Worksheet.php b/src/Spout/Writer/ODS/Internal/Worksheet.php index 19305f0..07c72b2 100644 --- a/src/Spout/Writer/ODS/Internal/Worksheet.php +++ b/src/Spout/Writer/ODS/Internal/Worksheet.php @@ -134,7 +134,9 @@ class Worksheet implements WorksheetInterface */ public function addRow($dataRow, $style) { - $styleIndex = ($style->getId() + 1); // 1-based + if (!is_array($style)) { + $styleIndex = ($style->getId() + 1); // 1-based + } $cellsCount = count($dataRow); $this->maxNumColumns = max($this->maxNumColumns, $cellsCount); @@ -146,6 +148,10 @@ class Worksheet implements WorksheetInterface for ($i = 0; $i < $cellsCount; $i++) { $currentCellValue = $dataRow[$currentCellIndex]; + if (is_array($style)) { + $styleIndex = 1 + (isset($style[$i]) ? $style[$i]->getId() : $style[0]->getId()); + } + if (!array_key_exists($nextCellIndex, $dataRow) || $currentCellValue !== $dataRow[$nextCellIndex]) { $numTimesValueRepeated = ($nextCellIndex - $currentCellIndex); $data .= $this->getCellContent($currentCellValue, $styleIndex, $numTimesValueRepeated); diff --git a/src/Spout/Writer/XLSX/Internal/Worksheet.php b/src/Spout/Writer/XLSX/Internal/Worksheet.php index be67e19..792faeb 100644 --- a/src/Spout/Writer/XLSX/Internal/Worksheet.php +++ b/src/Spout/Writer/XLSX/Internal/Worksheet.php @@ -133,10 +133,16 @@ EOD; $data = ''; - foreach($dataRow as $cellValue) { + if (!is_array($style)) { + $style = [$style]; + } + + foreach($dataRow as $index => $cellValue) { + $styleIndex = isset($style[$index]) ? $style[$index]->getId() : $style[0]->getId(); + $columnIndex = CellHelper::getCellIndexFromColumnIndex($cellNumber); $data .= 'getId() . '"'; + $data .= ' s="' . $styleIndex . '"'; if (CellHelper::isNonEmptyString($cellValue)) { if ($this->shouldUseInlineStrings) { From 85abc77182df856f2d5e3f77be41af5c015007c5 Mon Sep 17 00:00:00 2001 From: Jan Date: Fri, 9 Oct 2015 13:54:06 +0200 Subject: [PATCH 02/10] Support for style per column for XLSX and ODS - test with styles array --- tests/Spout/Writer/ODS/Helper/StyleHelperTest.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/Spout/Writer/ODS/Helper/StyleHelperTest.php b/tests/Spout/Writer/ODS/Helper/StyleHelperTest.php index 763f904..746b6c1 100644 --- a/tests/Spout/Writer/ODS/Helper/StyleHelperTest.php +++ b/tests/Spout/Writer/ODS/Helper/StyleHelperTest.php @@ -35,11 +35,11 @@ class StyleHelperTest extends \PHPUnit_Framework_TestCase $this->assertNull($style2->getId()); $styleHelper = new StyleHelper($this->defaultStyle); - $registeredStyle1 = $styleHelper->registerStyle($style1); - $registeredStyle2 = $styleHelper->registerStyle($style2); + $registeredStyles = $styleHelper->registerStyle($style1); + $registeredStyles = $styleHelper->registerStyle($style2); - $this->assertEquals(1, $registeredStyle1->getId()); - $this->assertEquals(2, $registeredStyle2->getId()); + $this->assertEquals(1, $registeredStyles[0]->getId()); + $this->assertEquals(2, $registeredStyles[1]->getId()); } /** From 976eff514e08fd9167166a50c346835702c82c22 Mon Sep 17 00:00:00 2001 From: Jan Date: Fri, 9 Oct 2015 14:05:19 +0200 Subject: [PATCH 03/10] Support for style per column for XLSX and ODS - test with styles array --- tests/Spout/Writer/ODS/Helper/StyleHelperTest.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/Spout/Writer/ODS/Helper/StyleHelperTest.php b/tests/Spout/Writer/ODS/Helper/StyleHelperTest.php index 746b6c1..46a73e7 100644 --- a/tests/Spout/Writer/ODS/Helper/StyleHelperTest.php +++ b/tests/Spout/Writer/ODS/Helper/StyleHelperTest.php @@ -50,11 +50,11 @@ class StyleHelperTest extends \PHPUnit_Framework_TestCase $style = (new StyleBuilder())->setFontBold()->build(); $styleHelper = new StyleHelper($this->defaultStyle); - $registeredStyle1 = $styleHelper->registerStyle($style); - $registeredStyle2 = $styleHelper->registerStyle($style); + $registeredStyles = $styleHelper->registerStyle($style); + $registeredStyles = $styleHelper->registerStyle($style); - $this->assertEquals(1, $registeredStyle1->getId()); - $this->assertEquals(1, $registeredStyle2->getId()); + $this->assertEquals(1, $registeredStyles[0]->getId()); + $this->assertEquals(1, $registeredStyles[0]->getId()); } /** From 347a51398ebd60b017b1afcc8511dc18ca6fe0e8 Mon Sep 17 00:00:00 2001 From: Jan Date: Fri, 9 Oct 2015 14:08:50 +0200 Subject: [PATCH 04/10] Support for style per column for XLSX and ODS - test with styles array --- .../Spout/Writer/XLSX/Helper/StyleHelperTest.php | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php b/tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php index 333c1c2..4f276fd 100644 --- a/tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php +++ b/tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php @@ -35,11 +35,11 @@ class StyleHelperTest extends \PHPUnit_Framework_TestCase $this->assertNull($style2->getId()); $styleHelper = new StyleHelper($this->defaultStyle); - $registeredStyle1 = $styleHelper->registerStyle($style1); - $registeredStyle2 = $styleHelper->registerStyle($style2); + $registeredStyles = $styleHelper->registerStyle($style1); + $registeredStyles = $styleHelper->registerStyle($style2); - $this->assertEquals(1, $registeredStyle1->getId()); - $this->assertEquals(2, $registeredStyle2->getId()); + $this->assertEquals(1, $registeredStyles[0]->getId()); + $this->assertEquals(2, $registeredStyles[1]->getId()); } /** @@ -50,11 +50,11 @@ class StyleHelperTest extends \PHPUnit_Framework_TestCase $style = (new StyleBuilder())->setFontBold()->build(); $styleHelper = new StyleHelper($this->defaultStyle); - $registeredStyle1 = $styleHelper->registerStyle($style); - $registeredStyle2 = $styleHelper->registerStyle($style); + $registeredStyles = $styleHelper->registerStyle($style); + $registeredStyles = $styleHelper->registerStyle($style); - $this->assertEquals(1, $registeredStyle1->getId()); - $this->assertEquals(1, $registeredStyle2->getId()); + $this->assertEquals(1, $registeredStyles[0]->getId()); + $this->assertEquals(1, $registeredStyles[0]->getId()); } /** From cdc7a93771c20f0bf316a015f82ce48f0488d883 Mon Sep 17 00:00:00 2001 From: Jan Date: Fri, 9 Oct 2015 14:20:26 +0200 Subject: [PATCH 05/10] Support for style per column for XLSX and ODS - test with styles array --- tests/Spout/Writer/ODS/Helper/StyleHelperTest.php | 3 +-- tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/tests/Spout/Writer/ODS/Helper/StyleHelperTest.php b/tests/Spout/Writer/ODS/Helper/StyleHelperTest.php index 46a73e7..1d0c7a5 100644 --- a/tests/Spout/Writer/ODS/Helper/StyleHelperTest.php +++ b/tests/Spout/Writer/ODS/Helper/StyleHelperTest.php @@ -35,8 +35,7 @@ class StyleHelperTest extends \PHPUnit_Framework_TestCase $this->assertNull($style2->getId()); $styleHelper = new StyleHelper($this->defaultStyle); - $registeredStyles = $styleHelper->registerStyle($style1); - $registeredStyles = $styleHelper->registerStyle($style2); + $registeredStyles = $styleHelper->registerStyle([$style1, $style2]); $this->assertEquals(1, $registeredStyles[0]->getId()); $this->assertEquals(2, $registeredStyles[1]->getId()); diff --git a/tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php b/tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php index 4f276fd..30d7031 100644 --- a/tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php +++ b/tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php @@ -35,8 +35,7 @@ class StyleHelperTest extends \PHPUnit_Framework_TestCase $this->assertNull($style2->getId()); $styleHelper = new StyleHelper($this->defaultStyle); - $registeredStyles = $styleHelper->registerStyle($style1); - $registeredStyles = $styleHelper->registerStyle($style2); + $registeredStyles = $styleHelper->registerStyle([$style1, $style2]); $this->assertEquals(1, $registeredStyles[0]->getId()); $this->assertEquals(2, $registeredStyles[1]->getId()); From d5d188a658d7b649f812ed47a761f77981394291 Mon Sep 17 00:00:00 2001 From: Jan Date: Fri, 9 Oct 2015 14:30:37 +0200 Subject: [PATCH 06/10] Support for style per column for XLSX and ODS - test with styles array --- src/Spout/Writer/Common/Helper/AbstractStyleHelper.php | 9 +++++++-- tests/Spout/Writer/ODS/Helper/StyleHelperTest.php | 3 ++- tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php | 7 ++++--- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/Spout/Writer/Common/Helper/AbstractStyleHelper.php b/src/Spout/Writer/Common/Helper/AbstractStyleHelper.php index 77a6b93..372ef62 100644 --- a/src/Spout/Writer/Common/Helper/AbstractStyleHelper.php +++ b/src/Spout/Writer/Common/Helper/AbstractStyleHelper.php @@ -34,7 +34,7 @@ abstract class AbstractStyleHelper */ public function registerStyle($style) { - $return = []; + $styles = is_array($style) ? $style : [$style]; foreach ($styles as $style) { @@ -43,10 +43,15 @@ abstract class AbstractStyleHelper if (!$this->hasStyleAlreadyBeenRegistered($style)) { $nextStyleId = count($this->serializedStyleToStyleIdMappingTable); $style->setId($nextStyleId); + $this->serializedStyleToStyleIdMappingTable[$serializedStyle] = $nextStyleId; $this->styleIdToStyleMappingTable[$nextStyleId] = $style; } - $return[] = $this->getStyleFromSerializedStyle($serializedStyle); + } + + $return = []; + foreach ($this->serializedStyleToStyleIdMappingTable as $serializedStyle => $styleId) { + $return[$styleId] = $this->styleIdToStyleMappingTable[$styleId]; } return $return; diff --git a/tests/Spout/Writer/ODS/Helper/StyleHelperTest.php b/tests/Spout/Writer/ODS/Helper/StyleHelperTest.php index 1d0c7a5..46a73e7 100644 --- a/tests/Spout/Writer/ODS/Helper/StyleHelperTest.php +++ b/tests/Spout/Writer/ODS/Helper/StyleHelperTest.php @@ -35,7 +35,8 @@ class StyleHelperTest extends \PHPUnit_Framework_TestCase $this->assertNull($style2->getId()); $styleHelper = new StyleHelper($this->defaultStyle); - $registeredStyles = $styleHelper->registerStyle([$style1, $style2]); + $registeredStyles = $styleHelper->registerStyle($style1); + $registeredStyles = $styleHelper->registerStyle($style2); $this->assertEquals(1, $registeredStyles[0]->getId()); $this->assertEquals(2, $registeredStyles[1]->getId()); diff --git a/tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php b/tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php index 30d7031..cc59fbb 100644 --- a/tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php +++ b/tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php @@ -35,7 +35,8 @@ class StyleHelperTest extends \PHPUnit_Framework_TestCase $this->assertNull($style2->getId()); $styleHelper = new StyleHelper($this->defaultStyle); - $registeredStyles = $styleHelper->registerStyle([$style1, $style2]); + $registeredStyles = $styleHelper->registerStyle($style1); + $registeredStyles = $styleHelper->registerStyle($style2); $this->assertEquals(1, $registeredStyles[0]->getId()); $this->assertEquals(2, $registeredStyles[1]->getId()); @@ -52,8 +53,8 @@ class StyleHelperTest extends \PHPUnit_Framework_TestCase $registeredStyles = $styleHelper->registerStyle($style); $registeredStyles = $styleHelper->registerStyle($style); - $this->assertEquals(1, $registeredStyles[0]->getId()); - $this->assertEquals(1, $registeredStyles[0]->getId()); + $this->assertEquals(1, $registeredStyle1->getId()); + $this->assertEquals(1, $registeredStyle2->getId()); } /** From b46bfe016e6381a3cae9a75965a12e295b5be769 Mon Sep 17 00:00:00 2001 From: Jan Date: Fri, 9 Oct 2015 14:36:50 +0200 Subject: [PATCH 07/10] Support for style per column for XLSX and ODS - test with styles array --- tests/Spout/Writer/ODS/Helper/StyleHelperTest.php | 5 +++-- tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/tests/Spout/Writer/ODS/Helper/StyleHelperTest.php b/tests/Spout/Writer/ODS/Helper/StyleHelperTest.php index 46a73e7..c24bd75 100644 --- a/tests/Spout/Writer/ODS/Helper/StyleHelperTest.php +++ b/tests/Spout/Writer/ODS/Helper/StyleHelperTest.php @@ -53,8 +53,9 @@ class StyleHelperTest extends \PHPUnit_Framework_TestCase $registeredStyles = $styleHelper->registerStyle($style); $registeredStyles = $styleHelper->registerStyle($style); - $this->assertEquals(1, $registeredStyles[0]->getId()); - $this->assertEquals(1, $registeredStyles[0]->getId()); + $this->assertEquals(1, $registeredStyles[1]->getId()); + $this->assertEquals(1, $registeredStyles[1]->getId()); + $this->assertEquals(2, count($registeredStyles)); } /** diff --git a/tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php b/tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php index cc59fbb..5b88063 100644 --- a/tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php +++ b/tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php @@ -53,8 +53,9 @@ class StyleHelperTest extends \PHPUnit_Framework_TestCase $registeredStyles = $styleHelper->registerStyle($style); $registeredStyles = $styleHelper->registerStyle($style); - $this->assertEquals(1, $registeredStyle1->getId()); - $this->assertEquals(1, $registeredStyle2->getId()); + $this->assertEquals(1, $registeredStyles[0]->getId()); + $this->assertEquals(1, $registeredStyles[0]->getId()); + $this->assertEquals(2, count($registeredStyles)); } /** From 029c52f82352cebd888d1dbb6be49ee6a65a79fe Mon Sep 17 00:00:00 2001 From: Jan Date: Fri, 9 Oct 2015 14:43:51 +0200 Subject: [PATCH 08/10] Support for style per column for XLSX and ODS - test with styles array --- tests/Spout/Writer/ODS/Helper/StyleHelperTest.php | 12 ++++++------ tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/tests/Spout/Writer/ODS/Helper/StyleHelperTest.php b/tests/Spout/Writer/ODS/Helper/StyleHelperTest.php index c24bd75..465e6cb 100644 --- a/tests/Spout/Writer/ODS/Helper/StyleHelperTest.php +++ b/tests/Spout/Writer/ODS/Helper/StyleHelperTest.php @@ -38,8 +38,8 @@ class StyleHelperTest extends \PHPUnit_Framework_TestCase $registeredStyles = $styleHelper->registerStyle($style1); $registeredStyles = $styleHelper->registerStyle($style2); - $this->assertEquals(1, $registeredStyles[0]->getId()); - $this->assertEquals(2, $registeredStyles[1]->getId()); + $this->assertEquals(1, $registeredStyles[1]->getId()); + $this->assertEquals(2, $registeredStyles[2]->getId()); } /** @@ -50,11 +50,11 @@ class StyleHelperTest extends \PHPUnit_Framework_TestCase $style = (new StyleBuilder())->setFontBold()->build(); $styleHelper = new StyleHelper($this->defaultStyle); - $registeredStyles = $styleHelper->registerStyle($style); - $registeredStyles = $styleHelper->registerStyle($style); + $registeredStyles = $styleHelper->registerStyle($style) + ->registerStyle($style); - $this->assertEquals(1, $registeredStyles[1]->getId()); - $this->assertEquals(1, $registeredStyles[1]->getId()); + $this->assertEquals(1, $registeredStyles[0]->getId()); + $this->assertEquals(2, $registeredStyles[1]->getId()); $this->assertEquals(2, count($registeredStyles)); } diff --git a/tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php b/tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php index 5b88063..c6a951a 100644 --- a/tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php +++ b/tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php @@ -50,11 +50,11 @@ class StyleHelperTest extends \PHPUnit_Framework_TestCase $style = (new StyleBuilder())->setFontBold()->build(); $styleHelper = new StyleHelper($this->defaultStyle); - $registeredStyles = $styleHelper->registerStyle($style); - $registeredStyles = $styleHelper->registerStyle($style); + $registeredStyles = $styleHelper->registerStyle($style) + ->registerStyle($style); $this->assertEquals(1, $registeredStyles[0]->getId()); - $this->assertEquals(1, $registeredStyles[0]->getId()); + $this->assertEquals(2, $registeredStyles[1]->getId()); $this->assertEquals(2, count($registeredStyles)); } From 64f8523481fa188369af7fddff8aedea35ccb59e Mon Sep 17 00:00:00 2001 From: Jan Date: Fri, 9 Oct 2015 14:47:09 +0200 Subject: [PATCH 09/10] Support for style per column for XLSX and ODS - test with styles array --- tests/Spout/Writer/ODS/Helper/StyleHelperTest.php | 4 ++-- tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/Spout/Writer/ODS/Helper/StyleHelperTest.php b/tests/Spout/Writer/ODS/Helper/StyleHelperTest.php index 465e6cb..249ce85 100644 --- a/tests/Spout/Writer/ODS/Helper/StyleHelperTest.php +++ b/tests/Spout/Writer/ODS/Helper/StyleHelperTest.php @@ -50,8 +50,8 @@ class StyleHelperTest extends \PHPUnit_Framework_TestCase $style = (new StyleBuilder())->setFontBold()->build(); $styleHelper = new StyleHelper($this->defaultStyle); - $registeredStyles = $styleHelper->registerStyle($style) - ->registerStyle($style); + $registeredStyles = $styleHelper->registerStyle($style); + $registeredStyles = $styleHelper->registerStyle($style); $this->assertEquals(1, $registeredStyles[0]->getId()); $this->assertEquals(2, $registeredStyles[1]->getId()); diff --git a/tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php b/tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php index c6a951a..b608f16 100644 --- a/tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php +++ b/tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php @@ -50,8 +50,8 @@ class StyleHelperTest extends \PHPUnit_Framework_TestCase $style = (new StyleBuilder())->setFontBold()->build(); $styleHelper = new StyleHelper($this->defaultStyle); - $registeredStyles = $styleHelper->registerStyle($style) - ->registerStyle($style); + $registeredStyles = $styleHelper->registerStyle($style); + $registeredStyles = $styleHelper->registerStyle($style); $this->assertEquals(1, $registeredStyles[0]->getId()); $this->assertEquals(2, $registeredStyles[1]->getId()); From ede3f43c2e00acde95eaae1bb0bec028f0806dee Mon Sep 17 00:00:00 2001 From: Jan Date: Fri, 9 Oct 2015 14:54:19 +0200 Subject: [PATCH 10/10] Support for style per column for XLSX and ODS - test with styles array --- tests/Spout/Writer/ODS/Helper/StyleHelperTest.php | 4 ++-- tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/Spout/Writer/ODS/Helper/StyleHelperTest.php b/tests/Spout/Writer/ODS/Helper/StyleHelperTest.php index 249ce85..4fd66fd 100644 --- a/tests/Spout/Writer/ODS/Helper/StyleHelperTest.php +++ b/tests/Spout/Writer/ODS/Helper/StyleHelperTest.php @@ -53,8 +53,8 @@ class StyleHelperTest extends \PHPUnit_Framework_TestCase $registeredStyles = $styleHelper->registerStyle($style); $registeredStyles = $styleHelper->registerStyle($style); - $this->assertEquals(1, $registeredStyles[0]->getId()); - $this->assertEquals(2, $registeredStyles[1]->getId()); + $this->assertEquals(0, $registeredStyles[0]->getId()); + $this->assertEquals(1, $registeredStyles[1]->getId()); $this->assertEquals(2, count($registeredStyles)); } diff --git a/tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php b/tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php index b608f16..806765a 100644 --- a/tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php +++ b/tests/Spout/Writer/XLSX/Helper/StyleHelperTest.php @@ -38,8 +38,8 @@ class StyleHelperTest extends \PHPUnit_Framework_TestCase $registeredStyles = $styleHelper->registerStyle($style1); $registeredStyles = $styleHelper->registerStyle($style2); - $this->assertEquals(1, $registeredStyles[0]->getId()); - $this->assertEquals(2, $registeredStyles[1]->getId()); + $this->assertEquals(1, $registeredStyles[1]->getId()); + $this->assertEquals(2, $registeredStyles[2]->getId()); } /** @@ -53,8 +53,8 @@ class StyleHelperTest extends \PHPUnit_Framework_TestCase $registeredStyles = $styleHelper->registerStyle($style); $registeredStyles = $styleHelper->registerStyle($style); - $this->assertEquals(1, $registeredStyles[0]->getId()); - $this->assertEquals(2, $registeredStyles[1]->getId()); + $this->assertEquals(0, $registeredStyles[0]->getId()); + $this->assertEquals(1, $registeredStyles[1]->getId()); $this->assertEquals(2, count($registeredStyles)); }