64 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			64 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
|   | <?php | ||
|  | 
 | ||
|  | namespace PhpOffice\PhpSpreadsheetTests\Functional; | ||
|  | 
 | ||
|  | use PhpOffice\PhpSpreadsheet\RichText\RichText; | ||
|  | use PhpOffice\PhpSpreadsheet\Spreadsheet; | ||
|  | 
 | ||
|  | class HtmlCommentsTest extends AbstractFunctional | ||
|  | { | ||
|  |     private $spreadsheet; | ||
|  | 
 | ||
|  |     public function providerCommentRichText() | ||
|  |     { | ||
|  |         $valueSingle = 'I am comment.'; | ||
|  |         $valueMulti = 'I am ' . PHP_EOL . 'multi-line' . PHP_EOL . 'comment.'; | ||
|  | 
 | ||
|  |         $plainSingle = new RichText(); | ||
|  |         $plainSingle->createText($valueSingle); | ||
|  | 
 | ||
|  |         $plainMulti = new RichText(); | ||
|  |         $plainMulti->createText($valueMulti); | ||
|  | 
 | ||
|  |         $richSingle = new RichText(); | ||
|  |         $richSingle->createTextRun($valueSingle)->getFont()->setBold(true); | ||
|  | 
 | ||
|  |         $richMultiSimple = new RichText(); | ||
|  |         $richMultiSimple->createTextRun($valueMulti)->getFont()->setBold(true); | ||
|  | 
 | ||
|  |         $richMultiMixed = new RichText(); | ||
|  |         $richMultiMixed->createText('I am' . PHP_EOL); | ||
|  |         $richMultiMixed->createTextRun('multi-line')->getFont()->setBold(true); | ||
|  |         $richMultiMixed->createText(PHP_EOL . 'comment!'); | ||
|  | 
 | ||
|  |         return [ | ||
|  |             'single line plain text' => [$plainSingle], | ||
|  |             'multi-line plain text' => [$plainMulti], | ||
|  |             'single line simple rich text' => [$richSingle], | ||
|  |             'multi-line simple rich text' => [$richMultiSimple], | ||
|  |             'multi-line mixed rich text' => [$richMultiMixed], | ||
|  |         ]; | ||
|  |     } | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @dataProvider providerCommentRichText | ||
|  |      * | ||
|  |      * @param mixed $richText | ||
|  |      */ | ||
|  |     public function testComments($richText) | ||
|  |     { | ||
|  |         $this->spreadsheet = new Spreadsheet(); | ||
|  | 
 | ||
|  |         $this->spreadsheet->getActiveSheet()->getCell('A1')->setValue('Comment'); | ||
|  | 
 | ||
|  |         $this->spreadsheet->getActiveSheet() | ||
|  |             ->getComment('A1') | ||
|  |             ->setText($richText); | ||
|  | 
 | ||
|  |         $reloadedSpreadsheet = $this->writeAndReload($this->spreadsheet, 'Html'); | ||
|  | 
 | ||
|  |         $actual = $reloadedSpreadsheet->getActiveSheet()->getComment('A1')->getText()->getPlainText(); | ||
|  |         self::assertSame($richText->getPlainText(), $actual); | ||
|  |     } | ||
|  | } |