From 5686453bcce92a31fcbe566c087bf063f0bf9941 Mon Sep 17 00:00:00 2001 From: Vivek Kumar Date: Sun, 14 Mar 2021 20:48:10 +0530 Subject: [PATCH] Add test case for excel with media --- .../Writer/Xlsx/DrawingsTest.php | 22 ++++++++++++++++++ .../XLSX/saving_drawing_with_same_path.xlsx | Bin 0 -> 11717 bytes 2 files changed, 22 insertions(+) create mode 100644 tests/data/Writer/XLSX/saving_drawing_with_same_path.xlsx diff --git a/tests/PhpSpreadsheetTests/Writer/Xlsx/DrawingsTest.php b/tests/PhpSpreadsheetTests/Writer/Xlsx/DrawingsTest.php index d6ad77c6..58e3be57 100644 --- a/tests/PhpSpreadsheetTests/Writer/Xlsx/DrawingsTest.php +++ b/tests/PhpSpreadsheetTests/Writer/Xlsx/DrawingsTest.php @@ -42,4 +42,26 @@ class DrawingsTest extends AbstractFunctional // Fake assert. The only thing we need is to ensure the file is loaded without exception self::assertNotNull($reloadedSpreadsheet); } + + /** + * Test save and load XLSX file with drawing with the same file name. + */ + public function testSaveLoadWithDrawingWithSamePath(): void + { + // Read spreadsheet from file + $filePath = 'tests/data/Writer/XLSX/saving_drawing_with_same_path.xlsx'; + $reader = new Xlsx(); + $spreadsheet = $reader->load($filePath); + + $spreadsheet->getActiveSheet()->setCellValue('D5', 'foo'); + // Save spreadsheet to file to the same path. Success test case won't + // throw exception here + $writer = IOFactory::createWriter($spreadsheet, 'Xlsx'); + $writer->save($filePath); + + $reloadedSpreadsheet = $reader->load($filePath); + + // Fake assert. The only thing we need is to ensure the file is loaded without exception + self::assertNotNull($reloadedSpreadsheet); + } } diff --git a/tests/data/Writer/XLSX/saving_drawing_with_same_path.xlsx b/tests/data/Writer/XLSX/saving_drawing_with_same_path.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..53f9a6b9a46d3a7358770e05e5cd2a6c9e40fa10 GIT binary patch literal 11717 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 HAfNsRwQ3$l literal 0 HcmV?d00001