/** * 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'])); }
/** * Method to test registerServiceProvider(). * * @return void * * @covers Windwalker\DI\Container::registerServiceProvider */ public function testRegisterServiceProvider() { $this->instance->registerServiceProvider(new StubServiceProvider()); $this->assertEquals('Bingo', $this->instance->get('bingo')); }
/** * registerProviders * * @param Container $container * * @return void */ public function registerProviders(Container $container) { $container->registerServiceProvider(new S3Provider()); }