1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
namespace PhpOffice\PhpSpreadsheetTests\Writer\Html; |
4
|
|
|
|
5
|
|
|
use PhpOffice\PhpSpreadsheet\RichText\RichText; |
6
|
|
|
use PhpOffice\PhpSpreadsheet\Spreadsheet; |
7
|
|
|
use PhpOffice\PhpSpreadsheetTests\Functional; |
8
|
|
|
|
9
|
|
|
class HtmlCommentsTest extends Functional\AbstractFunctional |
10
|
|
|
{ |
11
|
|
|
private $spreadsheet; |
12
|
|
|
|
13
|
|
|
public function providerCommentRichText() |
14
|
|
|
{ |
15
|
|
|
$valueSingle = 'I am comment.'; |
16
|
|
|
$valueMulti = 'I am ' . PHP_EOL . 'multi-line' . PHP_EOL . 'comment.'; |
17
|
|
|
|
18
|
|
|
$plainSingle = new RichText(); |
19
|
|
|
$plainSingle->createText($valueSingle); |
20
|
|
|
|
21
|
|
|
$plainMulti = new RichText(); |
22
|
|
|
$plainMulti->createText($valueMulti); |
23
|
|
|
|
24
|
|
|
$richSingle = new RichText(); |
25
|
|
|
$richSingle->createTextRun($valueSingle)->getFont()->setBold(true); |
26
|
|
|
|
27
|
|
|
$richMultiSimple = new RichText(); |
28
|
|
|
$richMultiSimple->createTextRun($valueMulti)->getFont()->setBold(true); |
29
|
|
|
|
30
|
|
|
$richMultiMixed = new RichText(); |
31
|
|
|
$richMultiMixed->createText('I am' . PHP_EOL); |
32
|
|
|
$richMultiMixed->createTextRun('multi-line')->getFont()->setBold(true); |
33
|
|
|
$richMultiMixed->createText(PHP_EOL . 'comment!'); |
34
|
|
|
|
35
|
|
|
return [ |
36
|
|
|
'single line plain text' => [$plainSingle], |
37
|
|
|
'multi-line plain text' => [$plainMulti], |
38
|
|
|
'single line simple rich text' => [$richSingle], |
39
|
|
|
'multi-line simple rich text' => [$richMultiSimple], |
40
|
|
|
'multi-line mixed rich text' => [$richMultiMixed], |
41
|
|
|
]; |
42
|
|
|
} |
43
|
|
|
|
44
|
|
|
/** |
45
|
|
|
* @dataProvider providerCommentRichText |
46
|
|
|
* |
47
|
|
|
* @param mixed $richText |
48
|
|
|
*/ |
49
|
|
|
public function testComments($richText) |
50
|
|
|
{ |
51
|
|
|
$this->spreadsheet = new Spreadsheet(); |
52
|
|
|
|
53
|
|
|
$this->spreadsheet->getActiveSheet()->getCell('A1')->setValue('Comment'); |
54
|
|
|
|
55
|
|
|
$this->spreadsheet->getActiveSheet() |
56
|
|
|
->getComment('A1') |
57
|
|
|
->setText($richText); |
58
|
|
|
|
59
|
|
|
$reloadedSpreadsheet = $this->writeAndReload($this->spreadsheet, 'Html'); |
60
|
|
|
|
61
|
|
|
$actual = $reloadedSpreadsheet->getActiveSheet()->getComment('A1')->getText()->getPlainText(); |
62
|
|
|
self::assertSame($richText->getPlainText(), $actual); |
63
|
|
|
} |
64
|
|
|
} |
65
|
|
|
|