public function testGetComponentFromStaticFactory() { YadifFactory::$factoryCalled = false; $config = array('YadifBaz' => array('class' => 'YadifBaz'), 'YadifFoo' => array('class' => 'YadifFoo', 'factory' => array('YadifFactory', 'createFoo'), 'arguments' => array('YadifBaz', 'YadifBaz'))); $yadif = new Yadif_Container($config); $foo = $yadif->getComponent('YadifFoo'); $this->assertTrue(YadifFactory::$factoryCalled); }
public static function createFoo($a, $b) { self::$factoryCalled = true; return new YadifFoo($a, $b); }
public function testSpecifyingArgumentsComponentsToCallbackFactoryRetrievesThroughContainer() { YadifFactory::$factoryCalled = false; $config = array('YadifBaz' => array('class' => 'YadifBaz'), 'YadifFoo' => array('class' => 'YadifFoo', 'factory' => array('YadifFactory', 'createFoo'), 'arguments' => array('YadifBaz', 'YadifBaz'))); $yadif = new Yadif_Container($config); $foo = $yadif->getComponent('YadifFoo'); $this->assertTrue($foo->a instanceof YadifBaz); $this->assertTrue($foo->b instanceof YadifBaz); }