Conditions | 1 |
Paths | 1 |
Total Lines | 21 |
Code Lines | 18 |
Lines | 0 |
Ratio | 0 % |
Changes | 1 | ||
Bugs | 0 | Features | 0 |
1 | <?php |
||
13 | public function testNavigationTitle(): void |
||
14 | { |
||
15 | $spreadsheet = new Spreadsheet(); |
||
16 | $sheet = $spreadsheet->getActiveSheet(); |
||
17 | $sheet->getCell('A1')->setValue(1); |
||
18 | $sheet2 = $spreadsheet->createSheet(); |
||
19 | $sheet2->setTitle('<img src=x onerror=alert(1)>'); |
||
20 | $sheet2->getCell('A2')->setValue(2); |
||
21 | |||
22 | $writer = new HtmlWriter($spreadsheet); |
||
23 | $writer->writeAllSheets(); |
||
24 | $html = $writer->generateHTMLAll(); |
||
25 | $expected = '<ul class="navigation">' |
||
26 | . PHP_EOL |
||
27 | . ' <li class="sheet0"><a href="#sheet0">Worksheet</a></li>' |
||
28 | . PHP_EOL |
||
29 | . ' <li class="sheet1"><a href="#sheet1"><img src=x onerror=alert(1)></a></li>' |
||
30 | . PHP_EOL |
||
31 | . '</ul>'; |
||
32 | self::assertStringContainsString($expected, $html, 'appropriate characters are escaped'); |
||
33 | $spreadsheet->disconnectWorksheets(); |
||
34 | } |
||
36 |