More Tests

This commit is contained in:
oleibman
2026-01-18 18:31:08 -08:00
parent ba3b2938cb
commit b837dbb55c
3 changed files with 31 additions and 4 deletions
+2 -2
View File
@@ -315,11 +315,11 @@ class Html extends BaseReader
}
if ($datatype === DataType::TYPE_BOOL) {
// This is the case where we can set cellContent to bool rather than string
if ($cellContent === "\u{2611}") {
if ($cellContent === '☑') {
$cellContent = true;
$sheet->getStyle($column . $row)
->setCheckBox(true);
} elseif ($cellContent === "\u{2610}") {
} elseif ($cellContent === '☐') {
$cellContent = false;
$sheet->getStyle($column . $row)
->setCheckBox(true);
+2 -2
View File
@@ -1523,7 +1523,7 @@ class Html extends BaseWriter
}
if ($this->betterBoolean && is_bool($origData)) {
if ($cell->getStyle()->getCheckbox()) {
$origData2 = $origData ? "\u{2611}" : "\u{2610}";
$origData2 = $origData ? '☑' : '☐';
} else {
$origData2 = $origData ? $this->getTrue : $this->getFalse;
}
@@ -1538,7 +1538,7 @@ class Html extends BaseWriter
$origData = $cell->getValue();
if ($this->betterBoolean && is_bool($origData)) {
if ($cell->getStyle()->getCheckbox()) {
$origData2 = $origData ? "\u{2611}" : "\u{2610}";
$origData2 = $origData ? '☑' : '☐';
} else {
$origData2 = $origData ? $this->getTrue : $this->getFalse;
}
@@ -20,6 +20,12 @@ class StyleCheckBoxTest extends AbstractFunctional
$sheetOld->getStyle('A1')->setCheckBox(true);
$sheetOld->getStyle('A2')->setCheckBox(true);
$sheetOld->setCellValue('B1', '=AND(TRUE,TRUE)');
$sheetOld->setCellValue('B2', '=AND(FALSE,TRUE)');
$sheetOld->setCellValue('B3', '=AND(TRUE,FALSE)'); // no checkbox
$sheetOld->getStyle('B1')->setCheckBox(true);
$sheetOld->getStyle('B2')->setCheckBox(true);
$spreadsheet = $this->writeAndReload($spreadsheetOld, 'Html');
$spreadsheetOld->disconnectWorksheets();
@@ -31,6 +37,13 @@ class StyleCheckBoxTest extends AbstractFunctional
self::assertTrue($sheet->getStyle('A2')->getCheckBox());
self::assertFalse($sheet->getStyle('A3')->getCheckBox());
self::assertTrue($sheet->getCell('B1')->getValue());
self::assertFalse($sheet->getCell('B2')->getValue());
self::assertFalse($sheet->getCell('B3')->getValue());
self::assertTrue($sheet->getStyle('B1')->getCheckBox());
self::assertTrue($sheet->getStyle('B2')->getCheckBox());
self::assertFalse($sheet->getStyle('B3')->getCheckBox());
$spreadsheet->disconnectWorksheets();
}
@@ -49,6 +62,12 @@ class StyleCheckBoxTest extends AbstractFunctional
$sheetOld->getStyle('A1')->setCheckBox(true);
$sheetOld->getStyle('A2')->setCheckBox(true);
$sheetOld->setCellValue('B1', '=AND(TRUE,TRUE)');
$sheetOld->setCellValue('B2', '=AND(FALSE,TRUE)');
$sheetOld->setCellValue('B3', '=AND(TRUE,FALSE)'); // no checkbox
$sheetOld->getStyle('B1')->setCheckBox(true);
$sheetOld->getStyle('B2')->setCheckBox(true);
$spreadsheet = $this->writeAndReload($spreadsheetOld, 'Html', null, $this->writeNoPreCalc(...));
$spreadsheetOld->disconnectWorksheets();
@@ -60,6 +79,14 @@ class StyleCheckBoxTest extends AbstractFunctional
self::assertTrue($sheet->getStyle('A2')->getCheckBox());
self::assertFalse($sheet->getStyle('A3')->getCheckBox());
self::assertSame('=AND(TRUE,TRUE)', $sheet->getCell('B1')->getValue());
self::assertSame('=AND(FALSE,TRUE)', $sheet->getCell('B2')->getValue());
self::assertSame('=AND(TRUE,FALSE)', $sheet->getCell('B3')->getValue());
// Formulas not evaluated, so no checkboxes.
self::assertFalse($sheet->getStyle('B1')->getCheckBox());
self::assertFalse($sheet->getStyle('B2')->getCheckBox());
self::assertFalse($sheet->getStyle('B3')->getCheckBox());
$spreadsheet->disconnectWorksheets();
}
}