Make boolean check case-insensitive

This commit is contained in:
MarkBaker
2023-02-17 13:14:20 +01:00
parent 5072ffb23a
commit 6ca7ec5d5b
2 changed files with 8 additions and 2 deletions
@@ -34,11 +34,11 @@ class AdvancedValueBinder extends DefaultValueBinder implements IValueBinder
// Style logic - strings
if ($dataType === DataType::TYPE_STRING && !$value instanceof RichText) {
// Test for booleans using locale-setting
if ($value == Calculation::getTRUE()) {
if (StringHelper::strToUpper($value) === Calculation::getTRUE()) {
$cell->setValueExplicit(true, DataType::TYPE_BOOL);
return true;
} elseif ($value == Calculation::getFALSE()) {
} elseif (StringHelper::strToUpper($value) === Calculation::getFALSE()) {
$cell->setValueExplicit(false, DataType::TYPE_BOOL);
return true;
@@ -72,6 +72,12 @@ class AdvancedValueBinderTest extends TestCase
$sheet->getCell('A2')->setValue(false);
self::assertFalse($sheet->getCell('A2')->getValue());
$sheet->getCell('A3')->setValue('true');
self::assertTrue($sheet->getCell('A3')->getValue());
$sheet->getCell('A4')->setValue('false');
self::assertFalse($sheet->getCell('A4')->getValue());
$spreadsheet->disconnectWorksheets();
}