예제 #1
0
 /**
  * Init options with innerType requirements
  *
  * @return OptionsResolver
  */
 public function getInitOptionsResolver()
 {
     if (null === $this->initOptionsResolver) {
         if (null !== $this->parent) {
             $this->initOptionsResolver = clone $this->parent->getInitOptionsResolver();
         } else {
             $this->initOptionsResolver = new OptionsResolver();
         }
         $this->innerType->setInitOptions($this->initOptionsResolver);
         foreach ($this->typeExtensions as $extension) {
             $extension->setInitOptions($this->initOptionsResolver);
         }
     }
     return $this->initOptionsResolver;
 }
예제 #2
0
 public function test_it_should_set_init_options_from_type_and_parent()
 {
     $this->given($resolved = new TestedClass($this->jobType, array(), $this->resolvedParent))->then($resolver = $resolved->getInitOptionsResolver(), $options = $resolver->resolve(array('a' => 'paul', 'c' => 'flex')))->array($options)->isEqualTo(array('a' => 'paul', 'b' => 'marc', 'c' => 'flex', 'd' => 'doe'));
 }