function ModuleRouteSubscriberTest::testRemoveRoute

Same name in other branches
  1. 8.9.x 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 53

Class

ModuleRouteSubscriberTest
@coversDefaultClass \Drupal\Core\EventSubscriber\ModuleRouteSubscriber @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.