MergedCellsTest.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace PhpOffice\PhpSpreadsheetTests\Functional;
  3. use PhpOffice\PhpSpreadsheet\Spreadsheet;
  4. class MergedCellsTest extends AbstractFunctional
  5. {
  6. public function providerFormats(): array
  7. {
  8. return [
  9. ['Html'],
  10. ['Xls'],
  11. ['Xlsx'],
  12. ['Ods'],
  13. ];
  14. }
  15. /**
  16. * @dataProvider providerFormats
  17. *
  18. * @param string $format
  19. */
  20. public function testMergedCells($format): void
  21. {
  22. $spreadsheet = new Spreadsheet();
  23. $spreadsheet->setActiveSheetIndex(0);
  24. $spreadsheet->getActiveSheet()->setCellValue('A1', '1');
  25. $spreadsheet->getActiveSheet()->setCellValue('B1', '2');
  26. $spreadsheet->getActiveSheet()->setCellValue('A2', '33');
  27. $spreadsheet->getActiveSheet()->mergeCells('A2:B2');
  28. $reloadedSpreadsheet = $this->writeAndReload($spreadsheet, $format);
  29. $actual = 0;
  30. foreach ($reloadedSpreadsheet->getWorksheetIterator() as $worksheet) {
  31. $actual += count($worksheet->getMergeCells());
  32. }
  33. self::assertSame(1, $actual, "Format $format failed, could not read 1 merged cell");
  34. }
  35. }