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);
 | 
						|
    }
 | 
						|
}
 |