class SpecialAttributesRouteSubscriberTest
Same name and namespace in other branches
- 11.x core/tests/Drupal/Tests/Core/EventSubscriber/SpecialAttributesRouteSubscriberTest.php \Drupal\Tests\Core\EventSubscriber\SpecialAttributesRouteSubscriberTest
- 10 core/tests/Drupal/Tests/Core/EventSubscriber/SpecialAttributesRouteSubscriberTest.php \Drupal\Tests\Core\EventSubscriber\SpecialAttributesRouteSubscriberTest
- 8.9.x core/tests/Drupal/Tests/Core/EventSubscriber/SpecialAttributesRouteSubscriberTest.php \Drupal\Tests\Core\EventSubscriber\SpecialAttributesRouteSubscriberTest
@coversDefaultClass \Drupal\Core\EventSubscriber\SpecialAttributesRouteSubscriber
@group EventSubscriber
Hierarchy
- class \Drupal\Tests\UnitTestCase uses \Drupal\Tests\Traits\PhpUnitWarnings, \Drupal\Tests\PhpUnitCompatibilityTrait, \Symfony\Bridge\PhpUnit\ExpectDeprecationTrait extends \PHPUnit\Framework\TestCase
- class \Drupal\Tests\Core\EventSubscriber\SpecialAttributesRouteSubscriberTest extends \Drupal\Tests\UnitTestCase
Expanded class hierarchy of SpecialAttributesRouteSubscriberTest
File
-
core/
tests/ Drupal/ Tests/ Core/ EventSubscriber/ SpecialAttributesRouteSubscriberTest.php, line 16
Namespace
Drupal\Tests\Core\EventSubscriberView source
class SpecialAttributesRouteSubscriberTest extends UnitTestCase {
/**
* Provides a list of routes with invalid route variables.
*
* @return array
* An array of invalid routes.
*/
public function providerTestOnRouteBuildingInvalidVariables() {
// Build an array of mock route objects based on paths.
$routes = [];
$paths = [
'/test/{system_path}',
'/test/{_legacy}',
'/test/{' . RouteObjectInterface::ROUTE_OBJECT . '}',
'/test/{' . RouteObjectInterface::ROUTE_NAME . '}',
'/test/{_content}',
'/test/{_form}',
'/test/{_raw_variables}',
];
foreach ($paths as $path) {
$routes[] = [
new Route($path),
];
}
return $routes;
}
/**
* Provides a list of routes with valid route variables.
*
* @return array
* An array of valid routes.
*/
public function providerTestOnRouteBuildingValidVariables() {
// Build an array of mock route objects based on paths.
$routes = [];
$paths = [
'/test/{account}',
'/test/{node}',
'/test/{user}',
'/test/{entity_test}',
];
foreach ($paths as $path) {
$routes[] = [
new Route($path),
];
}
return $routes;
}
/**
* Tests the onAlterRoutes method for valid variables.
*
* @param \Symfony\Component\Routing\Route $route
* The route to check.
*
* @dataProvider providerTestOnRouteBuildingValidVariables
*
* @covers ::onAlterRoutes
*/
public function testOnRouteBuildingValidVariables(Route $route) {
$route_collection = new RouteCollection();
$route_collection->add('test', $route);
$event = new RouteBuildEvent($route_collection, 'test');
$subscriber = new SpecialAttributesRouteSubscriber();
$this->assertNull($subscriber->onAlterRoutes($event));
}
/**
* Tests the onAlterRoutes method for invalid variables.
*
* @param \Symfony\Component\Routing\Route $route
* The route to check.
*
* @dataProvider providerTestOnRouteBuildingInvalidVariables
* @covers ::onAlterRoutes
*/
public function testOnRouteBuildingInvalidVariables(Route $route) {
$route_collection = new RouteCollection();
$route_collection->add('test', $route);
$event = new RouteBuildEvent($route_collection, 'test');
$subscriber = new SpecialAttributesRouteSubscriber();
$this->expectWarning();
$this->expectWarningMessage('uses reserved variable names');
$subscriber->onAlterRoutes($event);
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.