mirror of
https://github.com/PHPOffice/PhpSpreadsheet.git
synced 2026-09-15 04:26:25 +00:00
41ca105c88
Fix #4318. Also make getConditionalStyles more useful, by adding a non-default parameter so that all rules pertaining to a single-cell coordinate can be returned, and in priority order. By default, just the first matching rule will be returned.
33 lines
1.3 KiB
PHP
33 lines
1.3 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace PhpOffice\PhpSpreadsheetTests\Reader\Xlsx;
|
|
|
|
use PhpOffice\PhpSpreadsheet\IOFactory;
|
|
use PhpOffice\PhpSpreadsheetTests\Functional\AbstractFunctional;
|
|
|
|
class ConditionalPriority2Test extends AbstractFunctional
|
|
{
|
|
public function testConditionalPriority(): void
|
|
{
|
|
$filename = 'tests/data/Reader/XLSX/issue.4318.xlsx';
|
|
$reader = IOFactory::createReader('Xlsx');
|
|
$spreadsheet = $reader->load($filename);
|
|
$reloadedSpreadsheet = $this->writeAndReload($spreadsheet, 'Xlsx');
|
|
$spreadsheet->disconnectWorksheets();
|
|
$sheet = $reloadedSpreadsheet->getActiveSheet();
|
|
$rules = $sheet->getConditionalStyles('E5', false);
|
|
self::assertCount(4, $rules);
|
|
self::assertSame(2, $rules[0]->getPriority());
|
|
self::assertSame(['$B$2<2'], $rules[0]->getConditions());
|
|
self::assertSame(3, $rules[1]->getPriority());
|
|
self::assertSame(['$B$2=""'], $rules[1]->getConditions());
|
|
self::assertSame(4, $rules[2]->getPriority());
|
|
self::assertSame(['$B$2=3'], $rules[2]->getConditions());
|
|
self::assertSame(5, $rules[3]->getPriority());
|
|
self::assertSame(['$B$2=2'], $rules[3]->getConditions());
|
|
$reloadedSpreadsheet->disconnectWorksheets();
|
|
}
|
|
}
|