mirror of
https://github.com/PHPOffice/PhpSpreadsheet.git
synced 2026-09-22 08:09:15 +00:00
Html Reader Tolerate Invalid Sheet Title
There are different rules for Title between Excel and Html, in particular maximum length and which characters are valid. Html Reader can throw an exception because of this difference. This PR allows it to tolerate an invalid title, retaining the default title if the Html suggests an invalid one.
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace PhpOffice\PhpSpreadsheetTests\Writer\Html;
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
use PhpOffice\PhpSpreadsheetTests\Functional\AbstractFunctional;
|
||||
|
||||
class LongTitleTest extends AbstractFunctional
|
||||
{
|
||||
/**
|
||||
* @dataProvider providerTitles
|
||||
*/
|
||||
public function testLongTitle(string $expected, string $title): void
|
||||
{
|
||||
$spreadsheet = new Spreadsheet();
|
||||
$spreadsheet
|
||||
->getProperties()
|
||||
->setTitle('PhpSpreadsheet Table Test Document');
|
||||
$sheet = $spreadsheet->getActiveSheet();
|
||||
$sheet->setCellValue('A1', 1);
|
||||
|
||||
$reloadedSpreadsheet = $this->writeAndReload($spreadsheet, 'Html');
|
||||
$spreadsheet->disconnectWorksheets();
|
||||
self::assertSame('Worksheet', $reloadedSpreadsheet->getActiveSheet()->getTitle());
|
||||
$reloadedSpreadsheet->disconnectWorksheets();
|
||||
}
|
||||
|
||||
public static function providerTitles(): array
|
||||
{
|
||||
return [
|
||||
['Worksheet', 'This title is just a bit too long'],
|
||||
['Worksheet', 'Invalid * character'],
|
||||
['Legitimate Title', 'Legitimate Title'],
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user