Browse Source

Fixed schema types not being reset between unit tests. Fixed DecimalTypeTest using global 'decimal' type for local testing

Corey Taylor 6 years ago
parent
commit
84b56eb153

+ 6 - 1
tests/TestCase/Database/Type/DateTimeTypeTest.php

@@ -331,11 +331,13 @@ class DateTimeTypeTest extends TestCase
     public function testMarshalWithLocaleParsing()
     {
         $this->type->useLocaleParser();
+
         $expected = new Time('13-10-2013 23:28:00');
         $result = $this->type->marshal('10/13/2013 11:28pm');
         $this->assertEquals($expected, $result);
-
         $this->assertNull($this->type->marshal('11/derp/2013 11:28pm'));
+
+        $this->type->useLocaleParser(false);
     }
 
     /**
@@ -346,9 +348,12 @@ class DateTimeTypeTest extends TestCase
     public function testMarshalWithLocaleParsingWithFormat()
     {
         $this->type->useLocaleParser()->setLocaleFormat('dd MMM, y hh:mma');
+
         $expected = new Time('13-10-2013 13:54:00');
         $result = $this->type->marshal('13 Oct, 2013 01:54pm');
         $this->assertEquals($expected, $result);
+
+        $this->type->useLocaleParser(false)->setLocaleFormat(null);
     }
 
     /**

+ 6 - 1
tests/TestCase/Database/Type/DateTypeTest.php

@@ -208,11 +208,13 @@ class DateTypeTest extends TestCase
     public function testMarshalWithLocaleParsing()
     {
         $this->type->useLocaleParser();
+
         $expected = new Date('13-10-2013');
         $result = $this->type->marshal('10/13/2013');
         $this->assertEquals($expected->format('Y-m-d'), $result->format('Y-m-d'));
-
         $this->assertNull($this->type->marshal('11/derp/2013'));
+
+        $this->type->useLocaleParser(false);
     }
 
     /**
@@ -223,9 +225,12 @@ class DateTypeTest extends TestCase
     public function testMarshalWithLocaleParsingWithFormat()
     {
         $this->type->useLocaleParser()->setLocaleFormat('dd MMM, y');
+
         $expected = new Date('13-10-2013');
         $result = $this->type->marshal('13 Oct, 2013');
         $this->assertEquals($expected->format('Y-m-d'), $result->format('Y-m-d'));
+
+        $this->type->useLocaleParser(false)->setLocaleFormat(null);
     }
 
     /**

+ 9 - 6
tests/TestCase/Database/Type/DecimalTypeTest.php

@@ -56,7 +56,7 @@ class DecimalTypeTest extends TestCase
     public function setUp(): void
     {
         parent::setUp();
-        $this->type = TypeFactory::build('decimal');
+        $this->type = new DecimalType();
         $this->driver = $this->getMockBuilder(Driver::class)->getMock();
         $this->localeString = I18n::getLocale();
         $this->numberClass = DecimalType::$numberClass;
@@ -214,23 +214,24 @@ class DecimalTypeTest extends TestCase
      */
     public function testMarshalWithLocaleParsing()
     {
-        I18n::setLocale('de_DE');
         $this->type->useLocaleParser();
+
+        I18n::setLocale('de_DE');
         $expected = 1234.53;
         $result = $this->type->marshal('1.234,53');
         $this->assertEquals($expected, $result);
 
         I18n::setLocale('en_US');
-        $this->type->useLocaleParser();
         $expected = 1234;
         $result = $this->type->marshal('1,234');
         $this->assertEquals($expected, $result);
 
         I18n::setLocale('pt_BR');
-        $this->type->useLocaleParser();
         $expected = 5987123.231;
         $result = $this->type->marshal('5.987.123,231');
         $this->assertEquals($expected, $result);
+
+        $this->type->useLocaleParser(false);
     }
 
     /**
@@ -240,12 +241,14 @@ class DecimalTypeTest extends TestCase
      */
     public function testMarshalWithLocaleParsingDanish()
     {
-        I18n::setLocale('da_DK');
-
         $this->type->useLocaleParser();
+
+        I18n::setLocale('da_DK');
         $expected = '47500';
         $result = $this->type->marshal('47.500');
         $this->assertSame($expected, $result);
+
+        $this->type->useLocaleParser(false);
     }
 
     /**

+ 5 - 4
tests/TestCase/Database/Type/FloatTypeTest.php

@@ -55,7 +55,7 @@ class FloatTypeTest extends TestCase
     public function setUp(): void
     {
         parent::setUp();
-        $this->type = TypeFactory::build('float');
+        $this->type = new FloatType();
         $this->driver = $this->getMockBuilder('Cake\Database\Driver')->getMock();
         $this->localeString = I18n::getLocale();
         $this->numberClass = FloatType::$numberClass;
@@ -176,23 +176,24 @@ class FloatTypeTest extends TestCase
      */
     public function testMarshalWithLocaleParsing()
     {
-        I18n::setLocale('de_DE');
         $this->type->useLocaleParser();
+
+        I18n::setLocale('de_DE');
         $expected = 1234.53;
         $result = $this->type->marshal('1.234,53');
         $this->assertEquals($expected, $result);
 
         I18n::setLocale('en_US');
-        $this->type->useLocaleParser();
         $expected = 1234;
         $result = $this->type->marshal('1,234');
         $this->assertEquals($expected, $result);
 
         I18n::setLocale('pt_BR');
-        $this->type->useLocaleParser();
         $expected = 5987123.231;
         $result = $this->type->marshal('5.987.123,231');
         $this->assertEquals($expected, $result);
+
+        $this->type->useLocaleParser(false);
     }
 
     /**

+ 7 - 2
tests/TestCase/Database/Type/TimeTypeTest.php

@@ -230,11 +230,13 @@ class TimeTypeTest extends TestCase
     public function testMarshalWithLocaleParsing()
     {
         $this->type->useLocaleParser();
+
         $expected = new Time('23:23:00');
         $result = $this->type->marshal('11:23pm');
         $this->assertEquals($expected->format('H:i'), $result->format('H:i'));
-
         $this->assertNull($this->type->marshal('derp:23'));
+
+        $this->type->useLocaleParser(false);
     }
 
     /**
@@ -247,11 +249,14 @@ class TimeTypeTest extends TestCase
         $updated = setlocale(LC_COLLATE, 'da_DK.utf8');
         $this->skipIf($updated === false, 'Could not set locale to da_DK.utf8, skipping test.');
 
-        I18n::setLocale('da_DK');
         $this->type->useLocaleParser();
+
+        I18n::setLocale('da_DK');
         $expected = new Time('03:20:00');
         $result = $this->type->marshal('03.20');
         $this->assertEquals($expected->format('H:i'), $result->format('H:i'));
+
+        $this->type->useLocaleParser(false);
     }
 
     /**