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. 8.9.x 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 57

Class

ModuleRouteSubscriberTest
@coversDefaultClass \Drupal\Core\EventSubscriber\ModuleRouteSubscriber[[api-linebreak]] @group EventSubscriber

Namespace

Drupal\Tests\Core\EventSubscriber

Code

public function testRemoveRoute($route_name, array $requirements, $removed) : void {
  $collection = new RouteCollection();
  $route = new Route('', [], $requirements);
  $collection->add($route_name, $route);
  $event = new RouteBuildEvent($collection);
  $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.