$this->accessUnawareRouter =
$this->
createMock('Symfony\Component\Routing\Matcher\UrlMatcherInterface'
);
$this->accessUnawareRouter->
expects($this->
any()) ->
method('match'
) ->
willReturn([ '_controller' => 'mocked',
]);
$this->accessManager =
$this->
createMock('Drupal\Core\Access\AccessManagerInterface'
);
$this->accessManager->
expects($this->
any()) ->
method('checkNamedRoute'
) ->
willReturn(AccessResult::
allowed()->
addCacheTags(['foo', 'bar'
]));
$this->customPageSubscriber =
new CustomPageExceptionHtmlSubscriber($this->configFactory,
$this->kernel,
$this->logger,
$this->redirectDestination,
$this->accessUnawareRouter,
$this->accessManager
);
$path_validator =
$this->
createMock('Drupal\Core\Path\PathValidatorInterface'
);
$path_validator->
expects($this->
any()) ->
method('getUrlIfValidWithoutAccessCheck'
) ->
willReturn(Url::
fromRoute('foo',
['foo' => 'bar'
]));
$container =
new ContainerBuilder();
$container->
set('path.validator',
$path_validator);
\Drupal::
setContainer($container);
// You can't create an exception in PHP without throwing it. Store the
// current error_log, and disable it temporarily.