]> git.openstreetmap.org Git - nominatim.git/commitdiff
ParameterParser: getInt with empty string value throws exception
authormarc tobias <mtmail@gmx.net>
Tue, 6 Mar 2018 12:33:19 +0000 (13:33 +0100)
committermarc tobias <mtmail@gmx.net>
Tue, 6 Mar 2018 12:33:19 +0000 (13:33 +0100)
lib/ParameterParser.php
test/php/Nominatim/ParameterParserTest.php

index 2eed1629b04742ad274c6ac9f5cf8d9bf1ebfbd3..7d8d5dc8fef69a9be0d771ceef02647710d29873 100644 (file)
@@ -23,7 +23,7 @@ class ParameterParser
 
     public function getInt($sName, $bDefault = false)
     {
-        if (!isset($this->aParams[$sName]) || strlen($this->aParams[$sName]) == 0) {
+        if (!isset($this->aParams[$sName])) {
             return $bDefault;
         }
 
index 51b181399470912e7f743b6d6b18d41ee2776c64..ddc0685134dd2a1364559db90e20508cfbd40f1e 100644 (file)
@@ -16,11 +16,6 @@ class ParameterParserTest extends \PHPUnit_Framework_TestCase
 {
 
 
-    protected function setUp()
-    {
-    }
-
-
     public function testGetBool()
     {
         $oParams = new ParameterParser([
@@ -46,8 +41,7 @@ class ParameterParserTest extends \PHPUnit_Framework_TestCase
         $oParams = new ParameterParser([
                                         'int1' => '5',
                                         'int2' => '-1',
-                                        'int3' => '',
-                                        'int4' => 0
+                                        'int3' => 0
                                        ]);
 
         $this->assertSame(false, $oParams->getInt('non-exists'));
@@ -55,15 +49,21 @@ class ParameterParserTest extends \PHPUnit_Framework_TestCase
         $this->assertSame(5, $oParams->getInt('int1'));
 
         $this->assertSame(-1, $oParams->getInt('int2'));
-        $this->assertSame(false, $oParams->getInt('int3')); // FIXME: should be 0 instead?
-        $this->assertSame(0, $oParams->getInt('int4'));
+        $this->assertSame(0, $oParams->getInt('int3'));
+    }
+
+
+    public function testGetIntWithNonNumber()
+    {
+        $this->setExpectedException(Exception::class, "Integer number expected for parameter 'int4'");
+        (new ParameterParser(['int4' => 'a']))->getInt('int4');
     }
 
 
     public function testGetIntWithEmpytString()
     {
         $this->setExpectedException(Exception::class, "Integer number expected for parameter 'int5'");
-        (new ParameterParser(['int5' => 'a']))->getInt('int5');
+        (new ParameterParser(['int5' => '']))->getInt('int5');
     }