public function PathBasedBreadcrumbBuilderTest::testBuildWithException in Drupal 9
Same name and namespace in other branches
- 8 core/modules/system/tests/src/Unit/Breadcrumbs/PathBasedBreadcrumbBuilderTest.php \Drupal\Tests\system\Unit\Breadcrumbs\PathBasedBreadcrumbBuilderTest::testBuildWithException()
Tests that exceptions during request matching are caught.
@covers ::build @covers ::getRequestForPath
@dataProvider providerTestBuildWithException
File
- core/
modules/ system/ tests/ src/ Unit/ Breadcrumbs/ PathBasedBreadcrumbBuilderTest.php, line 279 - Contains \Drupal\Tests\system\Unit\Breadcrumbs\PathBasedBreadcrumbBuilderTest.
Class
- PathBasedBreadcrumbBuilderTest
- @coversDefaultClass \Drupal\system\PathBasedBreadcrumbBuilder @group system
Namespace
Drupal\Tests\system\Unit\BreadcrumbsCode
public function testBuildWithException($exception_class, $exception_argument) {
$this->context
->expects($this
->once())
->method('getPathInfo')
->will($this
->returnValue('/example/bar'));
$this
->setupStubPathProcessor();
$this->requestMatcher
->expects($this
->any())
->method('matchRequest')
->will($this
->throwException(new $exception_class($exception_argument)));
$breadcrumb = $this->builder
->build($this
->createMock('Drupal\\Core\\Routing\\RouteMatchInterface'));
// No path matched, though at least the frontpage is displayed.
$this
->assertEquals([
0 => new Link('Home', new Url('<front>')),
], $breadcrumb
->getLinks());
$this
->assertEqualsCanonicalizing([
'url.path.is_front',
'url.path.parent',
], $breadcrumb
->getCacheContexts());
$this
->assertEqualsCanonicalizing([], $breadcrumb
->getCacheTags());
$this
->assertEquals(Cache::PERMANENT, $breadcrumb
->getCacheMaxAge());
}