85 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			85 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| 
								 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace PhpOffice\PhpSpreadsheetTests\Reader\Html;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								use PhpOffice\PhpSpreadsheet\Worksheet\Drawing;
							 | 
						||
| 
								 | 
							
								use PHPUnit\Framework\TestCase;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class HtmlImageTest extends TestCase
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    public function testCanInsertImage(): void
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $imagePath = realpath(__DIR__ . '/../../../data/Reader/HTML/image.jpg');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $html = '<table>
							 | 
						||
| 
								 | 
							
								                    <tr>
							 | 
						||
| 
								 | 
							
								                        <td><img src="' . $imagePath . '" alt="test image"></td>
							 | 
						||
| 
								 | 
							
								                    </tr>
							 | 
						||
| 
								 | 
							
								                </table>';
							 | 
						||
| 
								 | 
							
								        $filename = HtmlHelper::createHtml($html);
							 | 
						||
| 
								 | 
							
								        $spreadsheet = HtmlHelper::loadHtmlIntoSpreadsheet($filename, true);
							 | 
						||
| 
								 | 
							
								        $firstSheet = $spreadsheet->getSheet(0);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        /** @var Drawing $drawing */
							 | 
						||
| 
								 | 
							
								        $drawing = $firstSheet->getDrawingCollection()[0];
							 | 
						||
| 
								 | 
							
								        self::assertEquals($imagePath, $drawing->getPath());
							 | 
						||
| 
								 | 
							
								        self::assertEquals('A1', $drawing->getCoordinates());
							 | 
						||
| 
								 | 
							
								        self::assertEquals('test image', $drawing->getName());
							 | 
						||
| 
								 | 
							
								        self::assertEquals('100', $drawing->getWidth());
							 | 
						||
| 
								 | 
							
								        self::assertEquals('100', $drawing->getHeight());
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function testCanInsertImageWidth(): void
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $imagePath = realpath(__DIR__ . '/../../../data/Reader/HTML/image.jpg');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $html = '<table>
							 | 
						||
| 
								 | 
							
								                    <tr>
							 | 
						||
| 
								 | 
							
								                        <td><img src="' . $imagePath . '" alt="test image" width="50"></td>
							 | 
						||
| 
								 | 
							
								                    </tr>
							 | 
						||
| 
								 | 
							
								                </table>';
							 | 
						||
| 
								 | 
							
								        $filename = HtmlHelper::createHtml($html);
							 | 
						||
| 
								 | 
							
								        $spreadsheet = HtmlHelper::loadHtmlIntoSpreadsheet($filename, true);
							 | 
						||
| 
								 | 
							
								        $firstSheet = $spreadsheet->getSheet(0);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        /** @var Drawing $drawing */
							 | 
						||
| 
								 | 
							
								        $drawing = $firstSheet->getDrawingCollection()[0];
							 | 
						||
| 
								 | 
							
								        self::assertEquals('50', $drawing->getWidth());
							 | 
						||
| 
								 | 
							
								        self::assertEquals('50', $drawing->getHeight());
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function testCanInsertImageHeight(): void
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $imagePath = realpath(__DIR__ . '/../../../data/Reader/HTML/image.jpg');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $html = '<table>
							 | 
						||
| 
								 | 
							
								                    <tr>
							 | 
						||
| 
								 | 
							
								                        <td><img src="' . $imagePath . '" height="75"></td>
							 | 
						||
| 
								 | 
							
								                    </tr>
							 | 
						||
| 
								 | 
							
								                </table>';
							 | 
						||
| 
								 | 
							
								        $filename = HtmlHelper::createHtml($html);
							 | 
						||
| 
								 | 
							
								        $spreadsheet = HtmlHelper::loadHtmlIntoSpreadsheet($filename, true);
							 | 
						||
| 
								 | 
							
								        $firstSheet = $spreadsheet->getSheet(0);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        /** @var Drawing $drawing */
							 | 
						||
| 
								 | 
							
								        $drawing = $firstSheet->getDrawingCollection()[0];
							 | 
						||
| 
								 | 
							
								        self::assertEquals('', $drawing->getName());
							 | 
						||
| 
								 | 
							
								        self::assertEquals('75', $drawing->getWidth());
							 | 
						||
| 
								 | 
							
								        self::assertEquals('75', $drawing->getHeight());
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function testImageWithourSrc(): void
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $html = '<table>
							 | 
						||
| 
								 | 
							
								                    <tr>
							 | 
						||
| 
								 | 
							
								                        <td><img></td>
							 | 
						||
| 
								 | 
							
								                    </tr>
							 | 
						||
| 
								 | 
							
								                </table>';
							 | 
						||
| 
								 | 
							
								        $filename = HtmlHelper::createHtml($html);
							 | 
						||
| 
								 | 
							
								        $spreadsheet = HtmlHelper::loadHtmlIntoSpreadsheet($filename, true);
							 | 
						||
| 
								 | 
							
								        $firstSheet = $spreadsheet->getSheet(0);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        self::assertCount(0, $firstSheet->getDrawingCollection());
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |