$oParams = new ParameterParser([
'float1' => '1.0',
'float2' => '-5',
- 'float3' => '',
- 'float4' => 0
+ 'float3' => 0
]);
$this->assertSame(false, $oParams->getFloat('non-exists'));
$this->assertSame(999, $oParams->getFloat('non-exists', 999));
$this->assertSame(1.0, $oParams->getFloat('float1'));
$this->assertSame(-5.0, $oParams->getFloat('float2'));
- $this->assertSame(false, $oParams->getFloat('float3')); // FIXME: should be 0 instead?
- $this->assertSame(0.0, $oParams->getFloat('float4'));
+ $this->assertSame(0.0, $oParams->getFloat('float3'));
}
+ public function testGetFloatWithEmptyString()
+ {
+ $this->setExpectedException(Exception::class, "Floating-point number expected for parameter 'float4'");
+ (new ParameterParser(['float4' => '']))->getFloat('float4');
+ }
- public function testGetFloatWithString()
+ public function testGetFloatWithTextString()
{
$this->setExpectedException(Exception::class, "Floating-point number expected for parameter 'float5'");
(new ParameterParser(['float5' => 'a']))->getFloat('float5');
$this->assertSame('default', $oParams->getString('non-exists', 'default'));
$this->assertSame('abc', $oParams->getString('str1'));
$this->assertSame(false, $oParams->getStringList('str2'));
- $this->assertSame(false, $oParams->getStringList('str3')); // FIXME: should be 0 instead?
+ $this->assertSame(false, $oParams->getStringList('str3')); // sadly PHP magic treats 0 as false when returned
}
]);
$this->assertSame(false, $oParams->getSet('non-exists', ['foo', 'bar']));
- // FIXME: unclear if the default value has to be part of the set
$this->assertSame('default', $oParams->getSet('non-exists', ['foo', 'bar'], 'default'));
$this->assertSame('foo', $oParams->getSet('val1', ['foo', 'bar']));
$this->assertSame(false, $oParams->getStringList('non-exists'));
$this->assertSame(['a', 'b'], $oParams->getStringList('non-exists', ['a', 'b']));
- // FIXME: unclear if empty string items should be removed
- $this->assertSame(['', 'a', 'b', 'c', '', 'c', 'd'], $oParams->getStringList('list1'));
+ $this->assertSame(['a', 'b', 'c', 'c', 'd'], $oParams->getStringList('list1'));
$this->assertSame(['a'], $oParams->getStringList('list2'));
$this->assertSame(false, $oParams->getStringList('list3'));
$this->assertSame(false, $oParams->getStringList('list4'));