function ModuleRouteSubscriberTest::testRemoveRoute

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

@legacy-covers ::onAlterRoutes

Attributes

#[DataProvider('providerTestRemoveRoute')]

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 60

Class

ModuleRouteSubscriberTest
Tests Drupal\Core\EventSubscriber\ModuleRouteSubscriber.

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.