Files
oleibman 5c94de34a9 More Phpstan Level 10 Prep - Readers
Also upgrade Phpstan.
2025-05-03 21:18:55 -07:00

58 lines
1.8 KiB
PHP

<?php
declare(strict_types=1);
namespace PhpOffice\PhpSpreadsheetTests\Reader\Xls;
use PhpOffice\PhpSpreadsheet\Exception as PhpSpreadsheetException;
use PhpOffice\PhpSpreadsheet\Reader\Xls;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PHPUnit\Framework\TestCase;
class LoadSheetsOnlyTest extends TestCase
{
private ?Spreadsheet $spreadsheet = null;
private static string $testbook = 'tests/data/Reader/XLS/HiddenSheet.xls';
protected function tearDown(): void
{
if ($this->spreadsheet !== null) {
$this->spreadsheet->disconnectWorksheets();
$this->spreadsheet = null;
}
}
public function testLoadSheet1Only(): void
{
$filename = self::$testbook;
$reader = new Xls();
//$reader->setLoadSheetsOnly(['Sheet1']);
$names = $reader->listWorksheetNames($filename);
$reader->setLoadSheetsOnly([$names[0]]);
$spreadsheet = $this->spreadsheet = $reader->load($filename);
self::assertSame(1, $spreadsheet->getSheetCount());
self::assertSame('Sheet1', $spreadsheet->getActiveSheet()->getTitle());
}
public function testLoadSheet2Only(): void
{
$filename = self::$testbook;
$reader = new Xls();
$reader->setLoadSheetsOnly(['Sheet2']);
$spreadsheet = $this->spreadsheet = $reader->load($filename);
self::assertSame(1, $spreadsheet->getSheetCount());
self::assertSame('Sheet2', $spreadsheet->getActiveSheet()->getTitle());
}
public function testLoadNoSheet(): void
{
$this->expectException(PhpSpreadsheetException::class);
$this->expectExceptionMessage('You tried to set a sheet active by the out of bounds index');
$filename = self::$testbook;
$reader = new Xls();
$reader->setLoadSheetsOnly(['Sheet3']);
$reader->load($filename);
}
}