|
9 | 9 | use PhpOffice\PhpSpreadsheet\Spreadsheet; |
10 | 10 | use PhpOffice\PhpSpreadsheet\Worksheet\Drawing; |
11 | 11 | use PhpOffice\PhpSpreadsheet\Worksheet\MemoryDrawing; |
| 12 | +use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet; |
12 | 13 | use PhpOffice\PhpSpreadsheetTests\Functional\AbstractFunctional; |
13 | 14 |
|
14 | 15 | class XlsGifBmpTest extends AbstractFunctional |
@@ -83,6 +84,34 @@ public function testGif(): void |
83 | 84 | $reloadedSpreadsheet->disconnectWorksheets(); |
84 | 85 | } |
85 | 86 |
|
| 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 | + |
86 | 115 | public function testInvalidTimestamp(): void |
87 | 116 | { |
88 | 117 | $this->expectException(ReaderException::class); |
|
0 commit comments