Files
PhpSpreadsheet/tests/PhpSpreadsheetTests/Reader/Xlsx/Issue4049Test.php
T
oleibman 2760e5abb7 Conditional Color Scale Improvements
Fix #4049. Some possible options were not included for read or write. In addition, although it isn't well documented, it appears that 2-color scale always has 2 cvfo entries in Xml in order minimum/maximum, and 3-color scale always has 3 entries in order minimum/midpoint/maximum.
2024-05-30 00:19:11 -07:00

39 lines
1.3 KiB
PHP

<?php
declare(strict_types=1);
namespace PhpOffice\PhpSpreadsheetTests\Reader\Xlsx;
use PhpOffice\PhpSpreadsheet\Reader\Xlsx;
use PHPUnit\Framework\TestCase;
class Issue4049Test extends TestCase
{
public static function testPr1869(): void
{
$xlsxFile = 'tests/data/Reader/XLSX/issue.4049.xlsx';
$reader = new Xlsx();
$spreadsheet = $reader->load($xlsxFile);
$sheet = $spreadsheet->getActiveSheet();
$conditionals = $sheet->getConditionalStylesCollection();
self::assertCount(1, $conditionals);
self::assertSame('E9:E14', array_keys($conditionals)[0]);
$cond1 = $conditionals['E9:E14'];
self::assertCount(1, $cond1);
self::assertSame('colorScale', $cond1[0]->getConditionType());
$colorScale = $cond1[0]->getColorScale();
self::assertNotNull($colorScale);
$min = $colorScale->getMinimumConditionalFormatValueObject();
self::assertSame('formula', $min->getType());
self::assertSame('25', $min->getCellFormula());
self::assertNull($colorScale->getMidpointConditionalFormatValueObject());
$max = $colorScale->getMaximumConditionalFormatValueObject();
self::assertSame('max', $max->getType());
self::assertNull($max->getValue());
$spreadsheet->disconnectWorksheets();
}
}