/** * Tests ConfigNamesMapper::populateFromRouteMatch(). */ public function testPopulateFromRouteMatch() { // Make sure the language code is not set initially. $this->assertSame(NULL, $this->configNamesMapper->getInternalLangcode()); // Test that an empty request does not set the language code. $route_match = new RouteMatch('example', new Route('/test/{langcode}')); $this->configNamesMapper->populateFromRouteMatch($route_match); $this->assertSame(NULL, $this->configNamesMapper->getInternalLangcode()); // Test that a request with a 'langcode' attribute sets the language code. $route_match = new RouteMatch('example', new Route('/test/{langcode}'), ['langcode' => 'xx']); $this->configNamesMapper->populateFromRouteMatch($route_match); $this->assertSame('xx', $this->configNamesMapper->getInternalLangcode()); // Test that the language code gets unset with the wrong request. $route_match = new RouteMatch('example', new Route('/test/{langcode}')); $this->configNamesMapper->populateFromRouteMatch($route_match); $this->assertSame(NULL, $this->configNamesMapper->getInternalLangcode()); }