| 
									
										
										
										
											2018-03-15 10:09:49 +00:00
										 |  |  | <?php | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | namespace PhpOffice\PhpSpreadsheetTests\Functional; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | use PhpOffice\PhpSpreadsheet\Spreadsheet; | 
					
						
							| 
									
										
										
										
											2020-11-27 14:50:01 +00:00
										 |  |  | use PhpOffice\PhpSpreadsheet\Style\Alignment; | 
					
						
							| 
									
										
										
										
											2018-03-15 10:09:49 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | class CommentsTest extends AbstractFunctional | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     public function providerFormats() | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         return [ | 
					
						
							|  |  |  |             ['Html'], | 
					
						
							|  |  |  |             ['Xlsx'], | 
					
						
							|  |  |  |             ['Ods'], | 
					
						
							|  |  |  |         ]; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * Test load file with comment in sheet to load proper | 
					
						
							|  |  |  |      * count of comments in correct coords. | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @dataProvider providerFormats | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @param $format | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2020-05-18 04:49:57 +00:00
										 |  |  |     public function testComments($format): void | 
					
						
							| 
									
										
										
										
											2018-03-15 10:09:49 +00:00
										 |  |  |     { | 
					
						
							|  |  |  |         $spreadsheet = new Spreadsheet(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         $spreadsheet->getActiveSheet()->getCell('E10')->setValue('Comment'); | 
					
						
							|  |  |  |         $spreadsheet->getActiveSheet() | 
					
						
							|  |  |  |             ->getComment('E10') | 
					
						
							|  |  |  |             ->getText() | 
					
						
							|  |  |  |             ->createText('Comment to test'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         $reloadedSpreadsheet = $this->writeAndReload($spreadsheet, $format); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-27 14:50:01 +00:00
										 |  |  |         $sheet = $reloadedSpreadsheet->getSheet(0); | 
					
						
							|  |  |  |         $commentsLoaded = $sheet->getComments(); | 
					
						
							| 
									
										
										
										
											2018-03-15 10:09:49 +00:00
										 |  |  |         self::assertCount(1, $commentsLoaded); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         $commentCoordinate = key($commentsLoaded); | 
					
						
							|  |  |  |         self::assertSame('E10', $commentCoordinate); | 
					
						
							| 
									
										
										
										
											2020-11-27 14:50:01 +00:00
										 |  |  |         $comment = $commentsLoaded[$commentCoordinate]; | 
					
						
							|  |  |  |         self::assertEquals('Comment to test', (string) $comment); | 
					
						
							|  |  |  |         $commentClone = clone $comment; | 
					
						
							|  |  |  |         self::assertEquals($comment, $commentClone); | 
					
						
							|  |  |  |         self::assertNotSame($comment, $commentClone); | 
					
						
							|  |  |  |         if ($format === 'Xlsx') { | 
					
						
							|  |  |  |             self::assertEquals('feb0c24b880a8130262dadf801f85e94', $comment->getHashCode()); | 
					
						
							|  |  |  |             self::assertEquals(Alignment::HORIZONTAL_GENERAL, $comment->getAlignment()); | 
					
						
							|  |  |  |             $comment->setAlignment(Alignment::HORIZONTAL_RIGHT); | 
					
						
							|  |  |  |             self::assertEquals(Alignment::HORIZONTAL_RIGHT, $comment->getAlignment()); | 
					
						
							|  |  |  |         } | 
					
						
							| 
									
										
										
										
											2018-03-15 10:09:49 +00:00
										 |  |  |     } | 
					
						
							|  |  |  | } |