public function PathValidatorTest::testGetUrlIfValidWithAccess in Drupal 8
Same name and namespace in other branches
- 9 core/tests/Drupal/Tests/Core/Path/PathValidatorTest.php \Drupal\Tests\Core\Path\PathValidatorTest::testGetUrlIfValidWithAccess()
Tests the getUrlIfValid() method when there is access.
@covers ::getUrlIfValid @covers ::getPathAttributes
File
- core/
tests/ Drupal/ Tests/ Core/ Path/ PathValidatorTest.php, line 328
Class
- PathValidatorTest
- @coversDefaultClass \Drupal\Core\Path\PathValidator @group Routing
Namespace
Drupal\Tests\Core\PathCode
public function testGetUrlIfValidWithAccess() {
$this->account
->expects($this
->exactly(2))
->method('hasPermission')
->with('link to any page')
->willReturn(FALSE);
$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
->exactly(2))
->method('processInbound')
->willReturnArgument(0);
$url = $this->pathValidator
->getUrlIfValid('test-path');
$this
->assertInstanceOf('Drupal\\Core\\Url', $url);
$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());
}