Author: ihabunek
Date: Sun Oct 23 14:06:10 2011
New Revision: 1187885

URL: http://svn.apache.org/viewvc?rev=1187885&view=rev
Log:
Improved the new conversion methods, fixed typo, more tests.

Modified:
    logging/log4php/trunk/src/main/php/helpers/LoggerOptionConverter.php
    logging/log4php/trunk/src/test/php/helpers/LoggerOptionConverterTest.php

Modified: logging/log4php/trunk/src/main/php/helpers/LoggerOptionConverter.php
URL: 
http://svn.apache.org/viewvc/logging/log4php/trunk/src/main/php/helpers/LoggerOptionConverter.php?rev=1187885&r1=1187884&r2=1187885&view=diff
==============================================================================
--- logging/log4php/trunk/src/main/php/helpers/LoggerOptionConverter.php 
(original)
+++ logging/log4php/trunk/src/main/php/helpers/LoggerOptionConverter.php Sun 
Oct 23 14:06:10 2011
@@ -98,6 +98,9 @@ class LoggerOptionConverter {
        /** Converts $value to boolean, or throws an exception if not possible. 
*/
        public static function toBooleanEx($value) {
                if (isset($value)) {
+                       if (is_bool($value)) {
+                               return $value;
+                       }
                        $value = strtolower(trim($value));
                        if (in_array($value, self::$trueValues)) {
                                return true;
@@ -107,7 +110,7 @@ class LoggerOptionConverter {
                        }
                }
                
-               throw new LoggerException("Givan value [" . var_export($value, 
true) . "] cannot be converted to boolean.");
+               throw new LoggerException("Given value [" . var_export($value, 
true) . "] cannot be converted to boolean.");
        }
        
        /**
@@ -127,13 +130,14 @@ class LoggerOptionConverter {
        
        /** Converts $value to integer, or throws an exception if not possible. 
*/
        public static function toIntegerEx($value) {
-               if (!empty($value)) {
-                       if (is_numeric($value)) {
-                               return (integer) $value;
-                       }
+               if (is_integer($value)) {
+                       return $value;
+               }
+               if (is_numeric($value)) {
+                       return (integer) $value;
                }
        
-               throw new LoggerException("Givan value [" . var_export($value, 
true) . "] cannot be converted to integer.");
+               throw new LoggerException("Given value [" . var_export($value, 
true) . "] cannot be converted to integer.");
        }
 
        /**

Modified: 
logging/log4php/trunk/src/test/php/helpers/LoggerOptionConverterTest.php
URL: 
http://svn.apache.org/viewvc/logging/log4php/trunk/src/test/php/helpers/LoggerOptionConverterTest.php?rev=1187885&r1=1187884&r2=1187885&view=diff
==============================================================================
--- logging/log4php/trunk/src/test/php/helpers/LoggerOptionConverterTest.php 
(original)
+++ logging/log4php/trunk/src/test/php/helpers/LoggerOptionConverterTest.php 
Sun Oct 23 14:06:10 2011
@@ -52,12 +52,16 @@ class LoggerOptionConverterTest extends 
         self::assertFalse(LoggerOptionConverter::toBoolean("off"));
         self::assertFalse(LoggerOptionConverter::toBoolean("no"));
         
+        self::assertTrue(LoggerOptionConverter::toBooleanEx(1));
         self::assertTrue(LoggerOptionConverter::toBooleanEx("1"));
+        self::assertTrue(LoggerOptionConverter::toBooleanEx(true));
         self::assertTrue(LoggerOptionConverter::toBooleanEx("true"));
         self::assertTrue(LoggerOptionConverter::toBooleanEx("on"));
         self::assertTrue(LoggerOptionConverter::toBooleanEx("yes"));
         
+        self::assertFalse(LoggerOptionConverter::toBooleanEx(0));
         self::assertFalse(LoggerOptionConverter::toBooleanEx("0"));
+        self::assertFalse(LoggerOptionConverter::toBooleanEx(false));
         self::assertFalse(LoggerOptionConverter::toBooleanEx("false"));
         self::assertFalse(LoggerOptionConverter::toBooleanEx("off"));
         self::assertFalse(LoggerOptionConverter::toBooleanEx("no"));
@@ -66,7 +70,7 @@ class LoggerOptionConverterTest extends 
     /**
      * Test fail on NULL. 
         * @expectedException LoggerException
-        * @expectedExceptionMessage Givan value [NULL] cannot be converted to 
boolean.
+        * @expectedExceptionMessage Given value [NULL] cannot be converted to 
boolean.
      */
     public function testToBooleanFailure1() {
        LoggerOptionConverter::toBooleanEx(null);
@@ -75,7 +79,7 @@ class LoggerOptionConverterTest extends 
     /**
      * Test fail on empty string.
      * @expectedException LoggerException
-     * @expectedExceptionMessage Givan value [''] cannot be converted to 
boolean.
+     * @expectedExceptionMessage Given value [''] cannot be converted to 
boolean.
      */
     public function testToBooleanFailure2() {
        LoggerOptionConverter::toBooleanEx('');
@@ -84,7 +88,7 @@ class LoggerOptionConverterTest extends 
     /**
      * Test fail on invalid string.
      * @expectedException LoggerException
-     * @expectedExceptionMessage Givan value ['foo'] cannot be converted to 
boolean.
+     * @expectedExceptionMessage Given value ['foo'] cannot be converted to 
boolean.
      */
     public function testToBooleanFailure3() {
        LoggerOptionConverter::toBooleanEx('foo');
@@ -98,12 +102,17 @@ class LoggerOptionConverterTest extends 
        self::assertSame(-10, LoggerOptionConverter::toInt('foo', -10));
        
        self::assertSame(1, LoggerOptionConverter::toIntegerEx('1'));
+       self::assertSame(1, LoggerOptionConverter::toIntegerEx(1));
+       self::assertSame(0, LoggerOptionConverter::toIntegerEx('0'));
+       self::assertSame(0, LoggerOptionConverter::toIntegerEx(0));
+       self::assertSame(-1, LoggerOptionConverter::toIntegerEx('-1'));
+       self::assertSame(-1, LoggerOptionConverter::toIntegerEx(-1));
     }
     
     /**
     * Test fail on NULL.
     * @expectedException LoggerException
-    * @expectedExceptionMessage Givan value [NULL] cannot be converted to 
integer.
+    * @expectedExceptionMessage Given value [NULL] cannot be converted to 
integer.
     */
     public function testToIntegerFailure1() {
        LoggerOptionConverter::toIntegerEx(null);
@@ -112,7 +121,7 @@ class LoggerOptionConverterTest extends 
     /**
      * Test fail on empty string.
      * @expectedException LoggerException
-     * @expectedExceptionMessage Givan value [''] cannot be converted to 
integer.
+     * @expectedExceptionMessage Given value [''] cannot be converted to 
integer.
      */
     public function testToIntegerFailure2() {
        LoggerOptionConverter::toIntegerEx('');
@@ -121,12 +130,30 @@ class LoggerOptionConverterTest extends 
     /**
      * Test fail on invalid string.
      * @expectedException LoggerException
-     * @expectedExceptionMessage Givan value ['foo'] cannot be converted to 
integer.
+     * @expectedExceptionMessage Given value ['foo'] cannot be converted to 
integer.
      */
     public function testToIntegerFailure3() {
        LoggerOptionConverter::toIntegerEx('foo');
     }
     
+    /**
+     * Test fail on boolean.
+     * @expectedException LoggerException
+     * @expectedExceptionMessage Given value [true] cannot be converted to 
integer.
+     */
+    public function testToIntegerFailure4() {
+       LoggerOptionConverter::toIntegerEx(true);
+    }
+
+    /**
+     * Test fail on boolean.
+     * @expectedException LoggerException
+     * @expectedExceptionMessage Given value [false] cannot be converted to 
integer.
+     */
+    public function testToIntegerFailure5() {
+       LoggerOptionConverter::toIntegerEx(false);
+    }
+    
     public function testSubstituteVars() {
        $props['OTHER_CONSTANT'] = "OTHER";
        $props['MY_CONSTANT'] = "TEST";


Reply via email to