public function formatPropertyValue($value, $property)
{
$valueOutput = $value;
$propertyHolder = new PropertyHolder();
switch ($propertyHolder->getPropertyType($property)) {
case PropertyHolder::TYPE_STRING:
$valueOutput = trim($value);
break;
case PropertyHolder::TYPE_BOOLEAN:
if (true === $value || $value === 'true') {
$valueOutput = 'true';
} elseif (false === $value || $value === 'false') {
$valueOutput = 'false';
} else {
$valueOutput = '';
}
break;
case PropertyHolder::TYPE_IN_ARRAY:
try {
$valueOutput = $propertyHolder->checkValueInArray($property, $value);
} catch (\InvalidArgumentException $ex) {
$valueOutput = '';
}
break;
default:
// nothing t do here
break;
}
return $valueOutput;
}
/** * tests formatting a property value * * @dataProvider propertyNameTypeDataProvider * * @param string $propertyName * @param string $inputValue * @param string $expectedValue * * @group formatter * @group sourcetest */ public function testFormatPropertyValue($propertyName, $inputValue, $expectedValue) { $actualValue = $this->object->formatPropertyValue($inputValue, $propertyName); self::assertSame($expectedValue, $actualValue, "Property {$propertyName} should be {$expectedValue} (was {$actualValue})"); }