public function testLoadConfigThroughArgumentAlias() { $injector = new Injector(ConfigFactory::createFromArray(['standardAliases' => ['BrightNucleus\\Config\\ConfigInterface' => 'BrightNucleus\\Config\\Config', 'BNConfigFoo' => 'BrightNucleus\\Injector\\Test\\ConfigClass'], 'argumentProviders' => ['config' => ['interface' => ConfigInterface::class, 'mappings' => ['BrightNucleus\\Injector\\Test\\ConfigClass' => function ($alias, $interface) { return ConfigFactory::createSubConfig(__DIR__ . '/fixtures/ConfigFile.php', substr(strrchr($alias, '\\'), 1)); }]]]])); $obj = $injector->make('BNConfigFoo'); $this->assertEquals('testValue', $obj->check('randomString')); $this->assertEquals('testValue', $obj->check('randomString')); $this->assertEquals(42, $obj->check('positiveInteger')); $this->assertEquals(-256, $obj->check('negativeInteger')); $this->assertEquals(true, $obj->check('positiveBoolean')); $this->assertEquals(false, $obj->check('negativeBoolean')); }
/** * Test whether a subconfig can be immediately created through the ConfigFactory. * * @covers \BrightNucleus\Config\ConfigFactory::createSubConfig * * @since 0.4.5 */ public function testCreateSubConfig() { $config = ConfigFactory::createSubConfig(__DIR__ . '/fixtures/deep_config_file.php', 'vendor', 'package'); $this->assertInstanceOf('\\BrightNucleus\\Config\\ConfigInterface', $config); $this->assertInstanceOf('\\BrightNucleus\\Config\\AbstractConfig', $config); $this->assertInstanceOf('\\BrightNucleus\\Config\\Config', $config); $this->assertTrue($config->hasKey('section_1', 'test_key_1')); }