44
55namespace PhpOffice \PhpSpreadsheetTests \Writer \Html ;
66
7+ use PhpOffice \PhpSpreadsheet \Exception as PhpSpreadsheetException ;
78use PhpOffice \PhpSpreadsheet \Spreadsheet ;
89use PhpOffice \PhpSpreadsheet \Worksheet \Drawing ;
910use PhpOffice \PhpSpreadsheet \Writer \Html ;
@@ -59,7 +60,9 @@ public function testSheetWithImageBelowData(): void
5960
6061 // Add a drawing to the worksheet
6162 $ drawing = new Drawing ();
62- $ drawing ->setPath ('foo.png ' , false );
63+ $ path = 'tests/data/Writer/XLSX/blue_square.png ' ;
64+ $ drawing ->setPath ($ path );
65+ self ::assertSame ($ path , $ drawing ->getPath ());
6366 $ drawing ->setCoordinates ('A5 ' );
6467 $ drawing ->setWorksheet ($ sheet );
6568
@@ -74,13 +77,51 @@ public function testSheetWithImageRightOfData(): void
7477
7578 // Add a drawing to the worksheet
7679 $ drawing = new Drawing ();
77- $ drawing ->setPath ('foo.png ' , false );
80+ $ path = 'tests/data/Writer/XLSX/blue_square.png ' ;
81+ $ drawing ->setPath ($ path );
82+ self ::assertSame ($ path , $ drawing ->getPath ());
7883 $ drawing ->setCoordinates ('E1 ' );
7984 $ drawing ->setWorksheet ($ sheet );
8085
8186 $ this ->assertMaxColumnAndMaxRow ($ spreadsheet , 5 , 3 );
8287 }
8388
89+ public function testSheetWithBadImageRightOfData (): void
90+ {
91+ $ spreadsheet = new Spreadsheet ();
92+ $ sheet = $ spreadsheet ->getActiveSheet ();
93+ $ sheet ->setCellValue ('B3 ' , 'foo ' );
94+
95+ // Add a drawing to the worksheet
96+ $ drawing = new Drawing ();
97+ $ path = 'tests/data/Writer/XLSX/xblue_square.png ' ;
98+ $ drawing ->setPath ($ path , false );
99+ self ::assertSame ('' , $ drawing ->getPath ());
100+ $ drawing ->setCoordinates ('E1 ' );
101+ $ drawing ->setWorksheet ($ sheet );
102+
103+ $ this ->assertMaxColumnAndMaxRow ($ spreadsheet , 2 , 3 );
104+ }
105+
106+ public function testSheetWithBadImageRightOfDataThrow (): void
107+ {
108+ $ this ->expectException (PhpSpreadsheetException::class);
109+ $ this ->expectExceptionMessage ('not found! ' );
110+ $ spreadsheet = new Spreadsheet ();
111+ $ sheet = $ spreadsheet ->getActiveSheet ();
112+ $ sheet ->setCellValue ('B3 ' , 'foo ' );
113+
114+ // Add a drawing to the worksheet
115+ $ drawing = new Drawing ();
116+ $ path = 'tests/data/Writer/XLSX/xblue_square.png ' ;
117+ $ drawing ->setPath ($ path );
118+ self ::assertSame ('' , $ drawing ->getPath ());
119+ $ drawing ->setCoordinates ('E1 ' );
120+ $ drawing ->setWorksheet ($ sheet );
121+
122+ $ this ->assertMaxColumnAndMaxRow ($ spreadsheet , 2 , 3 );
123+ }
124+
84125 private function assertMaxColumnAndMaxRow (Spreadsheet $ spreadsheet , int $ expectedColumnCount , int $ expectedRowCount ): void
85126 {
86127 $ writer = new Html ($ spreadsheet );
0 commit comments