mirror of
https://github.com/PHPOffice/PhpSpreadsheet.git
synced 2026-09-06 07:29:05 +00:00
b5b83abc0e
Fix #2908. When support for two-cell anchors was added for drawings, we neglected to adjust the second cell address when rows or columns are added or deleted. It also appears that "twoCell" and "oneCell" were introduced as lower-case literals when support for the editAs attribute was subsequently introduced.
46 lines
1.7 KiB
PHP
46 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace PhpOffice\PhpSpreadsheetTests\Writer\Xlsx;
|
|
|
|
use PhpOffice\PhpSpreadsheet\Reader\Xlsx;
|
|
use PhpOffice\PhpSpreadsheetTests\Functional\AbstractFunctional;
|
|
|
|
class DrawingsInsertRowsTest extends AbstractFunctional
|
|
{
|
|
/**
|
|
* Test save and load XLSX file with drawing on 2nd worksheet.
|
|
*/
|
|
public function testSaveAfterInsertingRows(): void
|
|
{
|
|
// Read spreadsheet from file
|
|
$inputFilename = 'tests/data/Writer/XLSX/issue.2908.xlsx';
|
|
$reader = new Xlsx();
|
|
$spreadsheet = $reader->load($inputFilename);
|
|
$sheet = $spreadsheet->getActiveSheet();
|
|
$drawingCollection = $sheet->getDrawingCollection();
|
|
self::assertCount(1, $drawingCollection);
|
|
$drawing = $drawingCollection[0];
|
|
self::assertNotNull($drawing);
|
|
self::assertSame('D10', $drawing->getCoordinates());
|
|
self::assertSame('F11', $drawing->getCoordinates2());
|
|
self::assertSame('oneCell', $drawing->getEditAs());
|
|
|
|
$sheet->insertNewRowBefore(5);
|
|
$sheet->insertNewRowBefore(6);
|
|
|
|
// Save spreadsheet to file and read it back
|
|
$reloadedSpreadsheet = $this->writeAndReload($spreadsheet, 'Xlsx');
|
|
$spreadsheet->disconnectWorksheets();
|
|
$rsheet = $reloadedSpreadsheet->getActiveSheet();
|
|
$drawingCollection2 = $rsheet->getDrawingCollection();
|
|
self::assertCount(1, $drawingCollection2);
|
|
$drawing2 = $drawingCollection2[0];
|
|
self::assertNotNull($drawing2);
|
|
self::assertSame('D12', $drawing2->getCoordinates());
|
|
self::assertSame('F13', $drawing2->getCoordinates2());
|
|
self::assertSame('oneCell', $drawing2->getEditAs());
|
|
|
|
$reloadedSpreadsheet->disconnectWorksheets();
|
|
}
|
|
}
|