Browse Source

Changes suggested by dereuromark
Added tests for getDefaultProvider and getDefaultProviders

lilHermit 9 years ago
parent
commit
6dd7479e8b
2 changed files with 20 additions and 3 deletions
  1. 3 3
      src/Validation/Validator.php
  2. 17 0
      tests/TestCase/Validation/ValidatorTest.php

+ 3 - 3
src/Validation/Validator.php

@@ -226,11 +226,11 @@ class Validator implements ArrayAccess, IteratorAggregate, Countable
      */
     public static function getDefaultProvider($name)
     {
-        if (isset(self::$_defaultProviders[$name])) {
-            return self::$_defaultProviders[$name];
+        if (!isset(self::$_defaultProviders[$name])) {
+            return null;
         }
 
-        return null;
+        return self::$_defaultProviders[$name];
     }
 
     /**

+ 17 - 0
tests/TestCase/Validation/ValidatorTest.php

@@ -1894,4 +1894,21 @@ class ValidatorTest extends TestCase
         $validator = new Validator;
         $this->assertEquals($validator->providers(), ['test-provider'], 'Default provider `test-provider` is missing');
     }
+
+    /**
+     * Testing getting DefaultProvider(s)
+     *
+     * @return void
+     */
+    public function testGetDefaultProvider()
+    {
+        Validator::addDefaultProvider('test-provider', '\MyNameSpace\Validation\MyProvider');
+        $this->assertEquals(Validator::getDefaultProvider('test-provider'), '\MyNameSpace\Validation\MyProvider', 'Default provider `test-provider` is missing');
+
+        $this->assertNull(Validator::getDefaultProvider('invalid-provider'), 'Default provider (`invalid-provider`) should be missing');
+        $this->assertNull(Validator::getDefaultProvider(null), 'Default provider (null) should be missing');
+        
+        Validator::addDefaultProvider('test-provider2', '\MyNameSpace\Validation\MySecondProvider');
+        $this->assertEquals(Validator::getDefaultProviders(), ['test-provider', 'test-provider2'], 'Default providers incorrect');
+    }
 }