trait FormatSpecificGetBcRouteTestTrait in Drupal 8
Provides test methods to assert BC on format-specific GET routes.
@internal
Hierarchy
- trait \Drupal\Tests\rest\Functional\EntityResource\FormatSpecificGetBcRouteTestTrait
3 files declare their use of FormatSpecificGetBcRouteTestTrait
- EntityTestHalJsonAnonTest.php in core/
modules/ system/ tests/ modules/ entity_test/ tests/ src/ Functional/ Hal/ EntityTestHalJsonAnonTest.php - EntityTestJsonAnonTest.php in core/
modules/ system/ tests/ modules/ entity_test/ tests/ src/ Functional/ Rest/ EntityTestJsonAnonTest.php - EntityTestXmlAnonTest.php in core/
modules/ system/ tests/ modules/ entity_test/ tests/ src/ Functional/ Rest/ EntityTestXmlAnonTest.php
File
- core/
modules/ rest/ tests/ src/ Functional/ EntityResource/ FormatSpecificGetBcRouteTestTrait.php, line 13
Namespace
Drupal\Tests\rest\Functional\EntityResourceView source
trait FormatSpecificGetBcRouteTestTrait {
/**
* @group legacy
*
* @see \Drupal\rest\RouteProcessor\RestResourceGetRouteProcessorBC
*/
public function testFormatSpecificGetBcRoute() {
$this
->provisionEntityResource();
$url = $this
->getEntityResourceUrl();
// BC: Format-specific GET routes are deprecated. They are available on both
// new and old sites, but trigger deprecation notices.
$bc_route = Url::fromRoute('rest.entity.' . static::$entityTypeId . '.GET.' . static::$format, $url
->getRouteParameters(), $url
->getOptions());
$bc_route
->setUrlGenerator($this->container
->get('url_generator'));
$this
->addExpectedDeprecationMessage(sprintf("The 'rest.entity.entity_test.GET.%s' route is deprecated since version 8.5.x and will be removed in 9.0.0. Use the 'rest.entity.entity_test.GET' route instead.", static::$format));
$this
->assertSame($url
->toString(TRUE)
->getGeneratedUrl(), $bc_route
->toString(TRUE)
->getGeneratedUrl());
}
/**
* @group legacy
*
* @see \Drupal\rest\Plugin\ResourceBase::routes
*/
public function testNoFormatSpecificGetBcRouteForOtherFormats() {
$this
->expectException(RouteNotFoundException::class);
$this
->provisionEntityResource();
$url = $this
->getEntityResourceUrl();
// Verify no format-specific GET BC routes are created for other formats.
$other_format = static::$format === 'json' ? 'xml' : 'json';
$bc_route_other_format = Url::fromRoute('rest.entity.entity_test.GET.' . $other_format, $url
->getRouteParameters(), $url
->getOptions());
$bc_route_other_format
->setUrlGenerator($this->container
->get('url_generator'));
$bc_route_other_format
->toString(TRUE);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
FormatSpecificGetBcRouteTestTrait:: |
public | function | @group legacy | |
FormatSpecificGetBcRouteTestTrait:: |
public | function | @group legacy |