UnsupportedRouteAttributePropertiesTest.php
Same filename and directory in other branches
Namespace
Drupal\Tests\Core\RoutingFile
-
core/
tests/ Drupal/ Tests/ Core/ Routing/ UnsupportedRouteAttributePropertiesTest.php
View source
<?php
declare (strict_types=1);
namespace Drupal\Tests\Core\Routing;
use Drupal\Core\Routing\AttributeRouteDiscovery;
use Drupal\Core\Routing\UnsupportedRouteAttributePropertyException;
use Drupal\Tests\UnitTestCase;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\Attributes\Group;
use Symfony\Component\Routing\Attribute\Route;
/**
* Tests \Drupal\Core\Routing\AttributeRouteDiscovery.
*/
class UnsupportedRouteAttributePropertiesTest extends UnitTestCase {
/**
* @legacy-covers ::createRouteCollection
*/
public function testException(string $class, string $message) : void {
$discovery = new AttributeRouteDiscovery(new \ArrayIterator());
$reflection = new \ReflectionClass($discovery);
$method = $reflection->getMethod('createRouteCollection');
$this->expectException(UnsupportedRouteAttributePropertyException::class);
$this->expectExceptionMessage($message);
$method->invoke($discovery, $class);
}
public static function providerTestException() : array {
return [
'method: missing_name' => [
MethodRouteMissingName::class,
'The Route attribute on "Drupal\\Tests\\Core\\Routing\\MethodRouteMissingName::attributeMethod()" is missing a required "name" property.',
],
'method: locale' => [
MethodRouteLocale::class,
'The "locale" route attribute is not supported on route "MethodRouteLocale" in "Drupal\\Tests\\Core\\Routing\\MethodRouteLocale::attributeMethod()"',
],
'method: localized_paths' => [
MethodRouteLocalizedPaths::class,
'The "path" route attribute does not support arrays on route "MethodRouteLocalizedPaths" in "Drupal\\Tests\\Core\\Routing\\MethodRouteLocalizedPaths::attributeMethod()"',
],
'method: condition' => [
MethodRouteCondition::class,
'The "condition" route attribute is not supported on route "MethodRouteCondition" in "Drupal\\Tests\\Core\\Routing\\MethodRouteCondition::attributeMethod()"',
],
'class: locale' => [
ClassRouteLocale::class,
'The "locale" route attribute is not supported in class "Drupal\\Tests\\Core\\Routing\\ClassRouteLocale"',
],
'class: localized_paths' => [
ClassRouteLocalizedPaths::class,
'The "path" route attribute does not support arrays in class "Drupal\\Tests\\Core\\Routing\\ClassRouteLocalizedPaths"',
],
'class: condition' => [
ClassRouteCondition::class,
'The "condition" route attribute is not supported in class "Drupal\\Tests\\Core\\Routing\\ClassRouteCondition"',
],
];
}
}
/**
* Test class.
*/
class MethodRouteLocale {
public function attributeMethod() : array {
return [
'#markup' => 'Testing method with a Route attribute',
];
}
}
/**
* Test class.
*/
class MethodRouteLocalizedPaths {
public function attributeMethod() : array {
return [
'#markup' => 'Testing method with a Route attribute',
];
}
}
/**
* Test class.
*/
class MethodRouteCondition {
public function attributeMethod() : array {
return [
'#markup' => 'Testing method with a Route attribute',
];
}
}
/**
* Test class.
*/
class ClassRouteLocale {
public function attributeMethod() : array {
return [
'#markup' => 'Testing method with a Route attribute',
];
}
}
/**
* Test class.
*/
class ClassRouteLocalizedPaths {
public function attributeMethod() : array {
return [
'#markup' => 'Testing method with a Route attribute',
];
}
}
/**
* Test class.
*/
class ClassRouteCondition {
public function attributeMethod() : array {
return [
'#markup' => 'Testing method with a Route attribute',
];
}
}
/**
* Test class.
*/
class MethodRouteMissingName {
public function attributeMethod() : array {
return [
'#markup' => 'Testing method with a Route attribute',
];
}
}
Classes
| Title | Deprecated | Summary |
|---|---|---|
| ClassRouteCondition | Test class. | |
| ClassRouteLocale | Test class. | |
| ClassRouteLocalizedPaths | Test class. | |
| MethodRouteCondition | Test class. | |
| MethodRouteLocale | Test class. | |
| MethodRouteLocalizedPaths | Test class. | |
| MethodRouteMissingName | Test class. | |
| UnsupportedRouteAttributePropertiesTest | Tests \Drupal\Core\Routing\AttributeRouteDiscovery. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.