Skip to content

Commit 6059c77

Browse files
committed
Improve
1 parent e35b272 commit 6059c77

File tree

3 files changed

+20
-2
lines changed

3 files changed

+20
-2
lines changed

src/Column/BooleanColumn.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,6 @@ public function phpTypecast(mixed $value): bool|null
3535
return null;
3636
}
3737

38-
return (bool) $value;
38+
return $value && $value !== "\0";
3939
}
4040
}

tests/ColumnTest.php

+9-1
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,12 @@
55
namespace Yiisoft\Db\Oracle\Tests;
66

77
use PDO;
8+
use PHPUnit\Framework\Attributes\DataProviderExternal;
89
use Yiisoft\Db\Command\Param;
910
use Yiisoft\Db\Expression\Expression;
1011
use Yiisoft\Db\Oracle\Column\BinaryColumn;
1112
use Yiisoft\Db\Oracle\Column\JsonColumn;
13+
use Yiisoft\Db\Oracle\Tests\Provider\ColumnProvider;
1214
use Yiisoft\Db\Oracle\Tests\Support\TestTrait;
1315
use Yiisoft\Db\Query\Query;
1416
use Yiisoft\Db\Schema\Column\ColumnInterface;
@@ -106,12 +108,18 @@ public function testPredefinedType(string $className, string $type, string $phpT
106108
parent::testPredefinedType($className, $type, $phpType);
107109
}
108110

109-
/** @dataProvider \Yiisoft\Db\Oracle\Tests\Provider\ColumnProvider::dbTypecastColumns */
111+
#[DataProviderExternal(ColumnProvider::class, 'dbTypecastColumns')]
110112
public function testDbTypecastColumns(ColumnInterface $column, array $values): void
111113
{
112114
parent::testDbTypecastColumns($column, $values);
113115
}
114116

117+
#[DataProviderExternal(ColumnProvider::class, 'phpTypecastColumns')]
118+
public function testPhpTypecastColumns(ColumnInterface $column, array $values): void
119+
{
120+
parent::testPhpTypecastColumns($column, $values);
121+
}
122+
115123
public function testBinaryColumn(): void
116124
{
117125
$binaryCol = new BinaryColumn();

tests/Provider/ColumnProvider.php

+10
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,14 @@ public static function dbTypecastColumns(): array
4545

4646
return $values;
4747
}
48+
49+
public static function phpTypecastColumns(): array
50+
{
51+
$values = parent::phpTypecastColumns();
52+
$values['binary'][0] = new BinaryColumn();
53+
$values['boolean'][0] = new BooleanColumn();
54+
$values['json'][0] = new JsonColumn();
55+
56+
return $values;
57+
}
4858
}

0 commit comments

Comments
 (0)