function PathRootsSubscriberTest::testSubscribing

Same name and namespace in other branches
  1. 9 core/tests/Drupal/Tests/Core/EventSubscriber/PathRootsSubscriberTest.php \Drupal\Tests\Core\EventSubscriber\PathRootsSubscriberTest::testSubscribing()
  2. 8.9.x core/tests/Drupal/Tests/Core/EventSubscriber/PathRootsSubscriberTest.php \Drupal\Tests\Core\EventSubscriber\PathRootsSubscriberTest::testSubscribing()
  3. 11.x core/tests/Drupal/Tests/Core/EventSubscriber/PathRootsSubscriberTest.php \Drupal\Tests\Core\EventSubscriber\PathRootsSubscriberTest::testSubscribing()

Tests altering and finished event.

@covers ::onRouteAlter
@covers ::onRouteFinished

File

core/tests/Drupal/Tests/Core/EventSubscriber/PathRootsSubscriberTest.php, line 49

Class

PathRootsSubscriberTest
@coversDefaultClass \Drupal\Core\EventSubscriber\PathRootsSubscriber[[api-linebreak]] @group EventSubscriber

Namespace

Drupal\Tests\Core\EventSubscriber

Code

public function testSubscribing() : void {
  // Ensure that onRouteFinished can be called without throwing notices
  // when no path roots got set.
  $this->pathRootsSubscriber
    ->onRouteFinished();
  $route_collection = new RouteCollection();
  $route_collection->add('test_route1', new Route('/test/bar'));
  $route_collection->add('test_route2', new Route('/test/baz'));
  $route_collection->add('test_route3', new Route('/test2/bar/baz'));
  $event = new RouteBuildEvent($route_collection);
  $this->pathRootsSubscriber
    ->onRouteAlter($event);
  $route_collection = new RouteCollection();
  $route_collection->add('test_route4', new Route('/test1/bar'));
  $route_collection->add('test_route5', new Route('/test2/baz'));
  $route_collection->add('test_route6', new Route('/test2/bar/baz'));
  $event = new RouteBuildEvent($route_collection);
  $this->pathRootsSubscriber
    ->onRouteAlter($event);
  $this->state
    ->expects($this->once())
    ->method('set')
    ->with('router.path_roots', [
    'test',
    'test2',
    'test1',
  ]);
  $this->pathRootsSubscriber
    ->onRouteFinished();
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.