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 <a href="/api/drupal/core%21lib%21Drupal%21Core%21EventSubscriber%21PathRootsSubscriber.php/class/PathRootsSubscriber/10" title="Provides all available first bits of all route paths." class="local">\Drupal\Core\EventSubscriber\PathRootsSubscriber</a> @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.