/** * Method to test createConsole(). * * @return void * * @covers Windwalker\Provider\CliProvider::createConsole */ public function testCreateConsole() { $container = new Container(); $provider = new CliProvider(); $container->share('windwalker.config', new Registry(array('bundle' => array()))); $container->share('io', new IO()); $this->assertInstanceOf('Windwalker\\Console\\Application\\Console', $provider->createConsole($container)); }
/** * Registers the service provider with a DI container. * * @param Container $container The DI container. * * @return Container Returns itself to support chaining. * * @since 1.0 */ public function register(Container $container) { $ioClass = 'Phoenix\\IO\\IO'; $container->alias('io', $ioClass)->alias('Muse\\IO\\IO', $ioClass)->alias('Muse\\IO\\IOInterface', $ioClass)->share($ioClass, new IO($this->controller->getCommand())); $container->alias('operator.copy', 'Phoenix\\Generaotr\\FileOperator\\CopyOperator')->createObject('Phoenix\\Generaotr\\FileOperator\\CopyOperator'); $closure = function (Container $container) { return new OperatorFactory($container->get('io'), $this->controller->getTagVariables()); }; $container->share('operator.factory', $closure); }
/** * testFork * * @return void * * @covers Windwalker\DI\Container::fork */ public function testFork() { $hello = $this->instance->fork('Hello', 'Hello2'); $this->assertEquals('World', $hello); $this->assertEquals('World', $this->instance->get('Hello2')); $closure = function () { return uniqid(); }; $this->instance->share('uniqid', $closure); $uid = $this->instance->get('uniqid'); $this->assertEquals($uid, $this->instance->fork('uniqid', 'uniqid2')); $this->assertEquals($uid, $this->instance->get('uniqid2')); $this->assertNotEquals($uid, $uid2 = $this->instance->fork('uniqid', 'uniqid3', Container::FORCE_NEW)); $this->assertEquals($uid2, $this->instance->get('uniqid3')); }
/** * Method to test __construct(). * * @return void * * @covers Windwalker\Component\Component::__construct */ public function test__construct() { // Test no constants $this->createComponent(); $this->assertFalse(defined('STUB_ADMIN')); // Create with no params $component = new StubComponent(); $this->assertEquals('stub', $component->getName()); $container = Container::getInstance('com_stub'); $this->assertSame($container, $component->getContainer()); $this->assertSame($container->get('app'), $component->getApplication()); $this->assertSame($container->get('app')->input, $component->getInput()); $this->assertEquals('com_stub', $component->getOption()); $this->assertEquals(STUB_ADMIN, $component->getAdminPath()); $this->assertEquals(STUB_SITE, $component->getSitePath()); $this->assertEquals(STUB_SELF, $component->getPath()); // Create with manually set params $app = new TestApplication(); $input = new \JInput(); $container = new Container(); $container->registerServiceProvider(new SystemProvider()); // Mock Event $event = $this->getMock('JEventDispatcher', array('trigger'), array('eventName'), 'MockDispatcher'); $event->expects($this->at(0))->method('trigger')->with('onComponentBeforeInit'); $event->expects($this->at(1))->method('trigger')->with('onComponentAfterInit'); $container->share('JEventDispatcher', $event)->alias('event.dispatcher', 'JEventDispatcher'); $component = new StubComponent('flower', $input, $app, $container); $this->assertSame($container, $component->getContainer()); $this->assertSame($app, $component->getApplication()); $this->assertSame($input, $component->getInput()); $this->assertEquals('com_flower', $component->getOption()); $this->assertEquals('flower', $component->getName()); // Other test $this->assertEquals('foo', $input->get('controller')); $this->assertEquals('foo', $input->get('task')); $paths = TestHelper::getValue('JFormHelper', 'paths'); $this->assertTrue(in_array(WINDWALKER_SOURCE . '/Form/Fields', $paths['field'])); $this->assertTrue(in_array(WINDWALKER_SOURCE . '/Form/Forms', $paths['form'])); }
/** * Registers the service provider with a DI container. * * @param Container $container The DI container. * * @return void */ public function register(Container $container) { $container->share('bingo', function () { return 'Bingo'; }); }