65 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace PhpOffice\PhpSpreadsheetTests\Writer\Html;
 | |
| 
 | |
| use PhpOffice\PhpSpreadsheet\RichText\RichText;
 | |
| use PhpOffice\PhpSpreadsheet\Spreadsheet;
 | |
| use PhpOffice\PhpSpreadsheetTests\Functional;
 | |
| 
 | |
| class HtmlCommentsTest extends Functional\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): void
 | |
|     {
 | |
|         $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);
 | |
|     }
 | |
| }
 | 
