DrawingsInsertRowsTest.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. namespace PhpOffice\PhpSpreadsheetTests\Writer\Xlsx;
  3. use PhpOffice\PhpSpreadsheet\Reader\Xlsx;
  4. use PhpOffice\PhpSpreadsheetTests\Functional\AbstractFunctional;
  5. class DrawingsInsertRowsTest extends AbstractFunctional
  6. {
  7. /**
  8. * Test save and load XLSX file with drawing on 2nd worksheet.
  9. */
  10. public function testSaveAfterInsertingRows(): void
  11. {
  12. // Read spreadsheet from file
  13. $inputFilename = 'tests/data/Writer/XLSX/issue.2908.xlsx';
  14. $reader = new Xlsx();
  15. $spreadsheet = $reader->load($inputFilename);
  16. $sheet = $spreadsheet->getActiveSheet();
  17. $drawingCollection = $sheet->getDrawingCollection();
  18. self::assertCount(1, $drawingCollection);
  19. $drawing = $drawingCollection[0];
  20. self::assertNotNull($drawing);
  21. self::assertSame('D10', $drawing->getCoordinates());
  22. self::assertSame('F11', $drawing->getCoordinates2());
  23. self::assertSame('oneCell', $drawing->getEditAs());
  24. $sheet->insertNewRowBefore(5);
  25. $sheet->insertNewRowBefore(6);
  26. // Save spreadsheet to file and read it back
  27. $reloadedSpreadsheet = $this->writeAndReload($spreadsheet, 'Xlsx');
  28. $spreadsheet->disconnectWorksheets();
  29. $rsheet = $reloadedSpreadsheet->getActiveSheet();
  30. $drawingCollection2 = $rsheet->getDrawingCollection();
  31. self::assertCount(1, $drawingCollection2);
  32. $drawing2 = $drawingCollection2[0];
  33. self::assertNotNull($drawing2);
  34. self::assertSame('D12', $drawing2->getCoordinates());
  35. self::assertSame('F13', $drawing2->getCoordinates2());
  36. self::assertSame('oneCell', $drawing2->getEditAs());
  37. $reloadedSpreadsheet->disconnectWorksheets();
  38. }
  39. }