HiddenWorksheetTest.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. namespace PhpOffice\PhpSpreadsheetTests\Reader\Ods;
  3. use PhpOffice\PhpSpreadsheet\Reader\Ods;
  4. use PhpOffice\PhpSpreadsheet\Spreadsheet;
  5. use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
  6. use PHPUnit\Framework\TestCase;
  7. class HiddenWorksheetTest extends TestCase
  8. {
  9. /**
  10. * @var Spreadsheet
  11. */
  12. private $spreadsheet;
  13. protected function setup(): void
  14. {
  15. $filename = 'tests/data/Reader/Ods/HiddenSheet.ods';
  16. $reader = new Ods();
  17. $this->spreadsheet = $reader->load($filename);
  18. }
  19. public function testPageSetup(): void
  20. {
  21. $assertions = $this->worksheetAssertions();
  22. foreach ($this->spreadsheet->getAllSheets() as $worksheet) {
  23. if (!array_key_exists($worksheet->getTitle(), $assertions)) {
  24. continue;
  25. }
  26. $sheetAssertions = $assertions[$worksheet->getTitle()];
  27. foreach ($sheetAssertions as $test => $expectedResult) {
  28. $actualResult = $worksheet->getSheetState();
  29. self::assertSame(
  30. $expectedResult,
  31. $actualResult,
  32. "Failed asserting sheet state {$expectedResult} for Worksheet '{$worksheet->getTitle()}' {$test}"
  33. );
  34. }
  35. }
  36. }
  37. private function worksheetAssertions(): array
  38. {
  39. return [
  40. 'Sheet1' => [
  41. 'sheetState' => Worksheet::SHEETSTATE_VISIBLE,
  42. ],
  43. 'Sheet2' => [
  44. 'sheetState' => Worksheet::SHEETSTATE_HIDDEN,
  45. ],
  46. ];
  47. }
  48. }