/** * @test */ public function createRoutesFromConfigurationParsesTheGivenConfigurationAndBuildsRouteObjectsFromIt() { $routesConfiguration = []; $routesConfiguration['route1']['uriPattern'] = 'number1'; $routesConfiguration['route2']['uriPattern'] = 'number2'; $routesConfiguration['route3'] = ['name' => 'route3', 'defaults' => ['foodefault'], 'routeParts' => ['fooroutepart'], 'uriPattern' => 'number3', 'toLowerCase' => false, 'appendExceedingArguments' => true, 'httpMethods' => ['POST', 'PUT']]; $this->router->setRoutesConfiguration($routesConfiguration); $this->router->_call('createRoutesFromConfiguration'); $createdRoutes = $this->router->_get('routes'); $this->assertEquals('number1', $createdRoutes[0]->getUriPattern()); $this->assertTrue($createdRoutes[0]->isLowerCase()); $this->assertFalse($createdRoutes[0]->getAppendExceedingArguments()); $this->assertEquals('number2', $createdRoutes[1]->getUriPattern()); $this->assertFalse($createdRoutes[1]->hasHttpMethodConstraints()); $this->assertEquals([], $createdRoutes[1]->getHttpMethods()); $this->assertEquals('route3', $createdRoutes[2]->getName()); $this->assertEquals(['foodefault'], $createdRoutes[2]->getDefaults()); $this->assertEquals(['fooroutepart'], $createdRoutes[2]->getRoutePartsConfiguration()); $this->assertEquals('number3', $createdRoutes[2]->getUriPattern()); $this->assertFalse($createdRoutes[2]->isLowerCase()); $this->assertTrue($createdRoutes[2]->getAppendExceedingArguments()); $this->assertTrue($createdRoutes[2]->hasHttpMethodConstraints()); $this->assertEquals(['POST', 'PUT'], $createdRoutes[2]->getHttpMethods()); }