ColourTest.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace PhpOffice\PhpSpreadsheetTests\Reader\Xls;
  3. use PhpOffice\PhpSpreadsheet\Reader\Xls;
  4. use PhpOffice\PhpSpreadsheet\Spreadsheet;
  5. use PhpOffice\PhpSpreadsheetTests\Functional\AbstractFunctional;
  6. class ColourTest extends AbstractFunctional
  7. {
  8. /**
  9. * @var Spreadsheet
  10. */
  11. private $spreadsheet;
  12. protected function setup(): void
  13. {
  14. $filename = 'tests/data/Reader/XLS/Colours.xls';
  15. $reader = new Xls();
  16. $this->spreadsheet = $reader->load($filename);
  17. }
  18. public function testColours(): void
  19. {
  20. $colours = [];
  21. $worksheet = $this->spreadsheet->getActiveSheet();
  22. for ($row = 1; $row <= 7; ++$row) {
  23. for ($column = 'A'; $column !== 'J'; ++$column) {
  24. $cellAddress = "{$column}{$row}";
  25. $colours[$cellAddress] = $worksheet->getStyle($cellAddress)->getFill()->getStartColor()->getRGB();
  26. }
  27. }
  28. $newSpreadsheet = $this->writeAndReload($this->spreadsheet, 'Xls');
  29. $newWorksheet = $newSpreadsheet->getActiveSheet();
  30. foreach ($colours as $cellAddress => $expectedColourValue) {
  31. $actualColourValue = $newWorksheet->getStyle($cellAddress)->getFill()->getStartColor()->getRGB();
  32. self::assertSame($expectedColourValue, $actualColourValue);
  33. }
  34. }
  35. }