Skip to content

Commit 459f442

Browse files
committed
Additional Test
New test testGifIssue4112 uses the same technique as reported in the original issue, and it would fail on all PhpSpreadsheet releases, not just 2.2.0.
1 parent 1df4b17 commit 459f442

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

tests/PhpSpreadsheetTests/Writer/Xls/XlsGifBmpTest.php

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
use PhpOffice\PhpSpreadsheet\Spreadsheet;
1010
use PhpOffice\PhpSpreadsheet\Worksheet\Drawing;
1111
use PhpOffice\PhpSpreadsheet\Worksheet\MemoryDrawing;
12+
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
1213
use PhpOffice\PhpSpreadsheetTests\Functional\AbstractFunctional;
1314

1415
class XlsGifBmpTest extends AbstractFunctional
@@ -83,6 +84,34 @@ public function testGif(): void
8384
$reloadedSpreadsheet->disconnectWorksheets();
8485
}
8586

87+
public function testGifIssue4112(): void
88+
{
89+
$spreadsheet = new Spreadsheet();
90+
$spreadsheet->removeSheetByIndex(0);
91+
$sheet = new Worksheet($spreadsheet, 'Insured List');
92+
$spreadsheet->addSheet($sheet, 0);
93+
94+
// Add a drawing to the worksheet
95+
$drawing = new Drawing();
96+
$drawing->setName('Letters G, I, and G');
97+
$drawing->setDescription('Handwritten G, I, and F');
98+
$drawing->setPath(__DIR__ . '/../../../../samples/images/gif.gif');
99+
$drawing->setHeight(36);
100+
$drawing->setWorksheet($sheet);
101+
$drawing->setCoordinates('A1');
102+
103+
$reloadedSpreadsheet = $this->writeAndReload($spreadsheet, 'Xls');
104+
$spreadsheet->disconnectWorksheets();
105+
$worksheet = $reloadedSpreadsheet->getActiveSheet();
106+
$drawings = $worksheet->getDrawingCollection();
107+
self::assertCount(1, $drawings);
108+
foreach ($worksheet->getDrawingCollection() as $drawing) {
109+
$mimeType = ($drawing instanceof MemoryDrawing) ? $drawing->getMimeType() : 'notmemorydrawing';
110+
self::assertEquals('image/png', $mimeType);
111+
}
112+
$reloadedSpreadsheet->disconnectWorksheets();
113+
}
114+
86115
public function testInvalidTimestamp(): void
87116
{
88117
$this->expectException(ReaderException::class);

0 commit comments

Comments
 (0)