SelectedCellsTest.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. namespace PhpOffice\PhpSpreadsheetTests\Functional;
  3. use PhpOffice\PhpSpreadsheet\Spreadsheet;
  4. class SelectedCellsTest extends AbstractFunctional
  5. {
  6. public function providerFormats(): array
  7. {
  8. return [
  9. ['Xls'],
  10. ];
  11. }
  12. /**
  13. * Test load file with correct selected cells.
  14. *
  15. * @dataProvider providerFormats
  16. *
  17. * @param string $format
  18. */
  19. public function testSelectedCells($format): void
  20. {
  21. $spreadsheet = new Spreadsheet();
  22. $spreadsheet->setActiveSheetIndex(0)
  23. ->setTitle('Test1')
  24. ->setCellValue('D1', 1)
  25. ->setCellValue('D2', 2)
  26. ->setCellValue('D3', 3)
  27. ->setCellValue('D4', 4)
  28. ->setCellValue('D5', '=SUM(D1:D4)')
  29. ->setSelectedCell('B2');
  30. $spreadsheet->createSheet(1);
  31. $spreadsheet->setActiveSheetIndex(1)
  32. ->setTitle('Test2')
  33. ->setCellValue('D1', 4)
  34. ->setCellValue('E1', 3)
  35. ->setCellValue('F1', 2)
  36. ->setCellValue('G1', 1)
  37. ->setCellValue('H1', '=SUM(D1:G4)')
  38. ->setSelectedCells('A1:B2');
  39. $reloadedSpreadsheet = $this->writeAndReload($spreadsheet, $format);
  40. // Original object.
  41. self::assertSame('B2', $spreadsheet->setActiveSheetIndex(0)->getSelectedCells());
  42. self::assertSame('A1:B2', $spreadsheet->setActiveSheetIndex(1)->getSelectedCells());
  43. // Saved and reloaded file.
  44. self::assertSame('B2', $reloadedSpreadsheet->setActiveSheetIndex(0)->getSelectedCells());
  45. self::assertSame('A1:B2', $reloadedSpreadsheet->setActiveSheetIndex(1)->getSelectedCells());
  46. }
  47. }