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