mirror of
https://github.com/PHPOffice/PhpSpreadsheet.git
synced 2026-08-25 20:48:15 +00:00
107 lines
3.1 KiB
PHP
107 lines
3.1 KiB
PHP
<?php
|
|
|
|
namespace PhpOffice\PhpSpreadsheetTests\Reader;
|
|
|
|
use PhpOffice\PhpSpreadsheet\Reader\IReader;
|
|
use PhpOffice\PhpSpreadsheet\Reader\Xlsx;
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
class ReaderFlagsTest extends TestCase
|
|
{
|
|
private const EMPTY_CELLS = 'Empty Cells';
|
|
private const DATA_ONLY = 'Data only';
|
|
private const WITH_CHARTS = 'with Charts';
|
|
|
|
/**
|
|
* @var Xlsx
|
|
*/
|
|
private $reader;
|
|
|
|
protected function setup(): void
|
|
{
|
|
$this->reader = new Xlsx();
|
|
}
|
|
|
|
/**
|
|
* @dataProvider flagsProvider
|
|
*/
|
|
public function testFlags(int $flags, array $settings): void
|
|
{
|
|
$this->reader->setFlags($flags);
|
|
|
|
self::assertSame($settings[self::EMPTY_CELLS], $this->reader->getReadEmptyCells());
|
|
self::assertSame($settings[self::DATA_ONLY], $this->reader->getReadDataOnly());
|
|
self::assertSame($settings[self::WITH_CHARTS], $this->reader->getIncludeCharts());
|
|
}
|
|
|
|
public function flagsProvider(): array
|
|
{
|
|
return [
|
|
[
|
|
0,
|
|
[
|
|
self::EMPTY_CELLS => true,
|
|
self::DATA_ONLY => false,
|
|
self::WITH_CHARTS => false,
|
|
],
|
|
],
|
|
[
|
|
IReader::IGNORE_EMPTY_CELLS,
|
|
[
|
|
self::EMPTY_CELLS => false,
|
|
self::DATA_ONLY => false,
|
|
self::WITH_CHARTS => false,
|
|
],
|
|
],
|
|
[
|
|
IReader::READ_DATA_ONLY,
|
|
[
|
|
self::EMPTY_CELLS => true,
|
|
self::DATA_ONLY => true,
|
|
self::WITH_CHARTS => false,
|
|
],
|
|
],
|
|
[
|
|
IReader::IGNORE_EMPTY_CELLS | IReader::READ_DATA_ONLY,
|
|
[
|
|
self::EMPTY_CELLS => false,
|
|
self::DATA_ONLY => true,
|
|
self::WITH_CHARTS => false,
|
|
],
|
|
],
|
|
[
|
|
IReader::LOAD_WITH_CHARTS,
|
|
[
|
|
self::EMPTY_CELLS => true,
|
|
self::DATA_ONLY => false,
|
|
self::WITH_CHARTS => true,
|
|
],
|
|
],
|
|
[
|
|
IReader::IGNORE_EMPTY_CELLS | IReader::LOAD_WITH_CHARTS,
|
|
[
|
|
self::EMPTY_CELLS => false,
|
|
self::DATA_ONLY => false,
|
|
self::WITH_CHARTS => true,
|
|
],
|
|
],
|
|
[
|
|
IReader::READ_DATA_ONLY | IReader::LOAD_WITH_CHARTS,
|
|
[
|
|
self::EMPTY_CELLS => true,
|
|
self::DATA_ONLY => true,
|
|
self::WITH_CHARTS => true,
|
|
],
|
|
],
|
|
[
|
|
IReader::IGNORE_EMPTY_CELLS | IReader::READ_DATA_ONLY | IReader::LOAD_WITH_CHARTS,
|
|
[
|
|
self::EMPTY_CELLS => false,
|
|
self::DATA_ONLY => true,
|
|
self::WITH_CHARTS => true,
|
|
],
|
|
],
|
|
];
|
|
}
|
|
}
|