function ModuleRouteSubscriberTest::testRemoveRoute

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

Tests that removeRoute() removes routes when the module is not enabled.

@dataProvider providerTestRemoveRoute @covers ::onAlterRoutes

Parameters

string $route_name: The machine name for the route.

array $requirements: An array of requirements to use for the route.

bool $removed: Whether or not the route is expected to be removed from the collection.

File

core/tests/Drupal/Tests/Core/EventSubscriber/ModuleRouteSubscriberTest.php, line 50

Class

ModuleRouteSubscriberTest
@coversDefaultClass <a href="/api/drupal/core%21lib%21Drupal%21Core%21EventSubscriber%21ModuleRouteSubscriber.php/class/ModuleRouteSubscriber/8.9.x" title="A route subscriber to remove routes that depend on modules being enabled." class="local">\Drupal\Core\EventSubscriber\ModuleRouteSubscriber</a> @group EventSubscriber

Namespace

Drupal\Tests\Core\EventSubscriber

Code

public function testRemoveRoute($route_name, array $requirements, $removed) {
    $collection = new RouteCollection();
    $route = new Route('', [], $requirements);
    $collection->add($route_name, $route);
    $event = new RouteBuildEvent($collection, 'test');
    $route_subscriber = new ModuleRouteSubscriber($this->moduleHandler);
    $route_subscriber->onAlterRoutes($event);
    if ($removed) {
        $this->assertNull($collection->get($route_name));
    }
    else {
        $this->assertInstanceOf('Symfony\\Component\\Routing\\Route', $collection->get($route_name));
    }
}

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