コード例 #1
0
 /**
  * Checks if the object builder calls the lifecycle initialization method after injecting properties
  *
  * @test
  * @author Robert Lemke <*****@*****.**>
  */
 public function createObjectCallsLifecycleInitializationMethodName()
 {
     $injectedClassName = uniqid('Injected');
     eval('namespace F3\\Virtual; class ' . $injectedClassName . ' {}');
     $injectedClassName = 'F3\\Virtual\\' . $injectedClassName;
     $injectedClass = new $injectedClassName();
     $this->mockObjectManager->expects($this->any())->method('getObject')->with($injectedClassName)->will($this->returnValue($injectedClass));
     $objectName = 'F3\\FLOW3\\Tests\\Object\\Fixture\\BasicClass';
     $objectConfiguration = new \F3\FLOW3\Object\Configuration\Configuration($objectName);
     $objectConfiguration->setLifecycleInitializationMethodName('initializeAfterPropertiesSet');
     $objectConfiguration->setProperties(array(new \F3\FLOW3\Object\Configuration\ConfigurationProperty('firstDependency', $injectedClassName, \F3\FLOW3\Object\Configuration\ConfigurationProperty::PROPERTY_TYPES_OBJECT)));
     $object = $this->objectBuilder->createObject('F3\\FLOW3\\Tests\\Object\\Fixture\\BasicClass', $objectConfiguration);
     $this->assertTrue($object->hasBeenInitialized());
 }