/** * 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()); }