| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- <?php
- namespace PhpOffice\PhpSpreadsheetTests\Writer\Xls;
- use DateTime;
- use PhpOffice\PhpSpreadsheet\Spreadsheet;
- use PhpOffice\PhpSpreadsheet\Worksheet\Drawing;
- use PhpOffice\PhpSpreadsheet\Worksheet\MemoryDrawing;
- use PhpOffice\PhpSpreadsheetTests\Functional\AbstractFunctional;
- class XlsGifBmpTest extends AbstractFunctional
- {
- /**
- * @var string
- */
- private $filename = '';
- protected function tearDown(): void
- {
- if ($this->filename) {
- unlink($this->filename);
- }
- $this->filename = '';
- }
- public function testBmp(): void
- {
- $pgmstart = (float) (new DateTime())->format('U');
- $spreadsheet = new Spreadsheet();
- $filstart = $spreadsheet->getProperties()->getModified();
- self::assertLessThanOrEqual($filstart, $pgmstart);
- // Add a drawing to the worksheet
- $drawing = new Drawing();
- $drawing->setName('Letters B, M, and P');
- $drawing->setDescription('Handwritten B, M, and P');
- $drawing->setPath(__DIR__ . '/../../../../samples/images/bmp.bmp');
- $drawing->setHeight(36);
- $drawing->setWorksheet($spreadsheet->getActiveSheet());
- $drawing->setCoordinates('A1');
- $reloadedSpreadsheet = $this->writeAndReload($spreadsheet, 'Xls');
- $creationDatestamp = $reloadedSpreadsheet->getProperties()->getCreated();
- $filstart = $creationDatestamp;
- $worksheet = $reloadedSpreadsheet->getActiveSheet();
- $drawings = $worksheet->getDrawingCollection();
- self::assertCount(1, $drawings);
- foreach ($worksheet->getDrawingCollection() as $drawing) {
- // See if Scrutinizer approves this
- $mimeType = ($drawing instanceof MemoryDrawing) ? $drawing->getMimeType() : 'notmemorydrawing';
- self::assertEquals('image/png', $mimeType);
- }
- $pgmend = (float) (new DateTime())->format('U');
- self::assertLessThanOrEqual($pgmend, $pgmstart);
- self::assertLessThanOrEqual($pgmend, $filstart);
- self::assertLessThanOrEqual($filstart, $pgmstart);
- }
- public function testGif(): void
- {
- $spreadsheet = new Spreadsheet();
- // Add a drawing to the worksheet
- $drawing = new Drawing();
- $drawing->setName('Letters G, I, and G');
- $drawing->setDescription('Handwritten G, I, and F');
- $drawing->setPath(__DIR__ . '/../../../../samples/images/gif.gif');
- $drawing->setHeight(36);
- $drawing->setWorksheet($spreadsheet->getActiveSheet());
- $drawing->setCoordinates('A1');
- $reloadedSpreadsheet = $this->writeAndReload($spreadsheet, 'Xls');
- $worksheet = $reloadedSpreadsheet->getActiveSheet();
- $drawings = $worksheet->getDrawingCollection();
- self::assertCount(1, $drawings);
- foreach ($worksheet->getDrawingCollection() as $drawing) {
- $mimeType = ($drawing instanceof MemoryDrawing) ? $drawing->getMimeType() : 'notmemorydrawing';
- self::assertEquals('image/png', $mimeType);
- }
- }
- public function testInvalidTimestamp(): void
- {
- $this->expectException(\PhpOffice\PhpSpreadsheet\Reader\Exception::class);
- \PhpOffice\PhpSpreadsheet\Shared\OLE::OLE2LocalDate(' ');
- }
- }
|