Example #1
0
 /**
  * @param array $options
  * @param DoctrineMetadata $doctrineMetadata
  */
 public function __construct(array $options = array(), DoctrineMetadata $doctrineMetadata = null)
 {
     parent::__construct($options);
     if ($doctrineMetadata) {
         $this->setDoctrineMetadata($doctrineMetadata);
     }
 }
Example #2
0
 /**
  * @dataProvider dataProvider
  */
 public function testMethods($options, $code, $expectedValue, $hasMethod, $isMethod, $isNotExpected = 'assertFalse')
 {
     $metadata = new Metadata($options);
     $metadata->set($code, $expectedValue);
     $this->{$hasMethod}($metadata->has($code));
     $this->{$isMethod}($metadata->is($code));
     $this->{$isMethod}($metadata->is($code, $expectedValue));
     $this->{$isNotExpected}($metadata->is($code, 'not_expected_value'));
     $this->assertEquals($expectedValue, $metadata->get($code));
     $this->assertEquals(array_merge($options, [$code => $expectedValue]), $metadata->all());
 }
Example #3
0
 /**
  * Convert value to string
  *
  * @param mixed $value
  * @param Metadata $metadata
  * @return string
  */
 protected function convertToString($value, Metadata $metadata)
 {
     $convertResult = null;
     if (null === $value || is_scalar($value)) {
         $convertResult = $value;
     } else {
         $method = $metadata->get('cast_method') ?: '__toString';
         if (method_exists($value, $method)) {
             $convertResult = $value->{$method}();
         }
     }
     $event = new ValueRenderEvent($convertResult, $value, $metadata);
     $this->eventDispatcher->dispatch(MergeEvents::BEFORE_VALUE_RENDER, $event);
     $convertResult = $event->getConvertedValue();
     return (string) $convertResult;
 }