PhpSpreadsheet/tests/PhpSpreadsheetTests/Writer/Html/HtmlCommentsTest.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)
{
$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);
}
}