mirror of
https://github.com/PHPOffice/PhpSpreadsheet.git
synced 2026-09-09 09:36:25 +00:00
2952cf5526
Fix #4099. Ods Reader was expecting there to always be `header-style` and `footer-style` tags when `page-layout` tag is present, but these need not exist. It seemed like there might be other exposures along this line in `readPageSettingStyles`; rather than waiting for a problem report to show up for each, the code is updated to use `->item(0)` in place of `[0]` when appropriate, and make use of the nullsafe `?->` operator introduced with Php8.
29 lines
998 B
PHP
29 lines
998 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace PhpOffice\PhpSpreadsheetTests\Reader\Ods;
|
|
|
|
use PhpOffice\PhpSpreadsheet\Reader\Ods as OdsReader;
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
class Issue4099Test extends TestCase
|
|
{
|
|
private string $file = 'tests/data/Reader/Ods/issue.4099.ods';
|
|
|
|
public function testNoHeaderFooterStyle(): void
|
|
{
|
|
// header-style and footer-style are missing in styles.xml
|
|
$zipFile = 'zip://' . $this->file . '#styles.xml';
|
|
$contents = (string) file_get_contents($zipFile);
|
|
self::assertStringContainsString('page-layout ', $contents);
|
|
self::assertStringNotContainsString('header-style', $contents);
|
|
self::assertStringNotContainsString('footer-style', $contents);
|
|
$reader = new OdsReader();
|
|
$spreadsheet = $reader->load($this->file);
|
|
$sheet = $spreadsheet->getActiveSheet();
|
|
self::assertSame('FirstCell', $sheet->getCell('A1')->getValue());
|
|
$spreadsheet->disconnectWorksheets();
|
|
}
|
|
}
|