Commit 966aed8f authored by alexpott's avatar alexpott

Issue #2340379 by larowlan: Allow PathValidator::getUrlIfValid to support paths with leading /.

parent f6d2f233
......@@ -102,6 +102,7 @@ public function getUrlIfValid($path) {
return Url::createFromPath($path);
}
$path = ltrim($path, '/');
$request = Request::create('/' . $path);
$attributes = $this->getPathAttributes($path, $request);
......
......@@ -246,16 +246,16 @@ public function testIsValidWithNotExistingPath() {
* Tests the getUrlIfValid() method when there is access.
*/
public function testGetUrlIfValidWithAccess() {
$this->account->expects($this->once())
$this->account->expects($this->exactly(2))
->method('hasPermission')
->with('link to any page')
->willReturn(FALSE);
$this->accessAwareRouter->expects($this->once())
$this->accessAwareRouter->expects($this->exactly(2))
->method('match')
->with('/test-path')
->willReturn([RouteObjectInterface::ROUTE_NAME => 'test_route', '_raw_variables' => new ParameterBag(['key' => 'value'])]);
$this->pathProcessor->expects($this->once())
$this->pathProcessor->expects($this->exactly(2))
->method('processInbound')
->willReturnArgument(0);
......@@ -264,6 +264,13 @@ public function testGetUrlIfValidWithAccess() {
$this->assertEquals('test_route', $url->getRouteName());
$this->assertEquals(['key' => 'value'], $url->getRouteParameters());
// Test with leading /.
$url = $this->pathValidator->getUrlIfValid('/test-path');
$this->assertInstanceOf('Drupal\Core\Url', $url);
$this->assertEquals('test_route', $url->getRouteName());
$this->assertEquals(['key' => 'value'], $url->getRouteParameters());
}
/**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment