processConfiguration(new Configuration(), [['areas' => ['path_patterns' => ['/foo']]]]); $this->assertSame(['default' => ['path_patterns' => ['/foo'], 'host_patterns' => []]], $config['areas']); } public function testAreas() { $processor = new Processor(); $config = $processor->processConfiguration(new Configuration(), [['areas' => $areas = [ 'default' => ['path_patterns' => ['/foo'], 'host_patterns' => []], 'internal' => ['path_patterns' => ['/internal'], 'host_patterns' => ['^swagger\.']], 'commercial' => ['path_patterns' => ['/internal'], 'host_patterns' => []], ]]]); $this->assertSame($areas, $config['areas']); } public function testAlternativeNames() { $processor = new Processor(); $config = $processor->processConfiguration(new Configuration(), [[ 'models' => [ 'names' => [ [ 'alias' => 'Foo1', 'type' => 'App\Foo', 'groups' => ['group'], ], [ 'alias' => 'Foo2', 'type' => 'App\Foo', 'groups' => [], ], [ 'alias' => 'Foo3', 'type' => 'App\Foo', ], [ 'alias' => 'Foo4', 'type' => 'App\Foo', 'groups' => ['group'], 'areas' => ['internal'], ], [ 'alias' => 'Foo1', 'type' => 'App\Foo', 'areas' => ['internal'], ], [ 'alias' => 'Foo1', 'type' => 'App\Foo', 'groups' => ['group1', ['group2', 'parent' => 'child3']], ], ], ], ]]); $this->assertEquals([ [ 'alias' => 'Foo1', 'type' => 'App\Foo', 'groups' => ['group'], 'areas' => [], ], [ 'alias' => 'Foo2', 'type' => 'App\Foo', 'groups' => [], 'areas' => [], ], [ 'alias' => 'Foo3', 'type' => 'App\Foo', 'groups' => [], 'areas' => [], ], [ 'alias' => 'Foo4', 'type' => 'App\\Foo', 'groups' => ['group'], 'areas' => ['internal'], ], [ 'alias' => 'Foo1', 'type' => 'App\\Foo', 'groups' => [], 'areas' => ['internal'], ], [ 'alias' => 'Foo1', 'type' => 'App\Foo', 'groups' => ['group1', ['group2', 'parent' => 'child3']], 'areas' => [], ], ], $config['models']['names']); } /** * @group legacy * @expectedException \InvalidArgumentException * @expectedExceptionMessage You must not use both `nelmio_api_doc.areas` and `nelmio_api_doc.routes` config options. Please update your config to only use `nelmio_api_doc.areas`. */ public function testBothAreasAndRoutes() { $processor = new Processor(); $config = $processor->processConfiguration(new Configuration(), [['areas' => [], 'routes' => []]]); } /** * @group legacy * @expectedDeprecation The `nelmio_api_doc.routes` config option is deprecated. Please use `nelmio_api_doc.areas` instead (just replace `routes` by `areas` in your config). */ public function testDefaultConfig() { $processor = new Processor(); $config = $processor->processConfiguration(new Configuration(), [['routes' => ['path_patterns' => ['/foo']]]]); $this->assertSame(['default' => ['path_patterns' => ['/foo'], 'host_patterns' => []]], $config['areas']); } }