File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -133,7 +133,7 @@ public function getSQLDefinition()
133133 *
134134 * @return int|string|null
135135 */
136- private function getDefaultLength ()
136+ public function getDefaultLength ()
137137 {
138138 switch (strtoupper ($ this ->getType ())) {
139139 case self ::TYPE_FLOAT :
Original file line number Diff line number Diff line change @@ -400,4 +400,59 @@ public function validLengths()
400400 ['datetime ' , null ],
401401 ];
402402 }
403+
404+ public function typesForLengthsTest (): \Generator
405+ {
406+ yield 'TYPE_FLOAT ' => [
407+ Synapse::TYPE_FLOAT ,
408+ 53
409+ ];
410+ yield 'TYPE_DECIMAL ' => [
411+ Synapse::TYPE_DECIMAL ,
412+ '38,0 '
413+ ];
414+ yield 'TYPE_NUMERIC ' => [
415+ Synapse::TYPE_NUMERIC ,
416+ '38,0 '
417+ ];
418+ yield 'TYPE_NCHAR ' => [
419+ Synapse::TYPE_NCHAR ,
420+ 4000
421+ ];
422+ yield 'TYPE_NVARCHAR ' => [
423+ Synapse::TYPE_NVARCHAR ,
424+ 4000
425+ ];
426+ yield 'TYPE_BINARY ' => [
427+ Synapse::TYPE_BINARY ,
428+ 8000
429+ ];
430+ yield 'TYPE_CHAR ' => [
431+ Synapse::TYPE_CHAR ,
432+ 8000
433+ ];
434+ yield 'TYPE_VARBINARY ' => [
435+ Synapse::TYPE_VARBINARY ,
436+ 8000
437+ ];
438+ yield 'TYPE_VARCHAR ' => [
439+ Synapse::TYPE_VARCHAR ,
440+ 8000
441+ ];
442+ yield 'TYPE_REAL ' => [
443+ Synapse::TYPE_REAL ,
444+ null
445+ ];
446+ }
447+
448+ /**
449+ * @dataProvider typesForLengthsTest
450+ * @param string $type
451+ * @param string|int|null $expectedLength
452+ */
453+ public function testDefaultLengths (string $ type , $ expectedLength ): void
454+ {
455+ $ def = new Synapse ($ type , []);
456+ $ this ->assertSame ($ expectedLength , $ def ->getDefaultLength ());
457+ }
403458}
You can’t perform that action at this time.
0 commit comments