function EntityUrlTest::testToUrlDefaultFallback
Same name in other branches
- 11.x core/tests/Drupal/Tests/Core/Entity/EntityUrlTest.php \Drupal\Tests\Core\Entity\EntityUrlTest::testToUrlDefaultFallback()
Tests the toUrl() method without specifying the $rel parameter.
It should return the edit-form or canonical link templates by default if they are registered.
@covers ::toUrl
File
-
core/
tests/ Drupal/ Tests/ Core/ Entity/ EntityUrlTest.php, line 132
Class
- EntityUrlTest
- Tests URL handling of the \Drupal\Core\Entity\EntityBase class.
Namespace
Drupal\Tests\Core\EntityCode
public function testToUrlDefaultFallback() : void {
$values = [
'id' => static::ENTITY_ID,
'langcode' => $this->langcode,
];
$entity = $this->getEntity(UrlTestEntity::class, $values);
$this->registerLinkTemplate('edit-form');
/** @var \Drupal\Core\Url $url */
$url = $entity->toUrl();
$this->assertUrl('entity.test_entity.edit_form', [
'test_entity' => static::ENTITY_ID,
], $entity, TRUE, $url);
$this->registerLinkTemplate('canonical');
/** @var \Drupal\Core\Url $url */
$url = $entity->toUrl();
$this->assertUrl('entity.test_entity.canonical', [
'test_entity' => static::ENTITY_ID,
], $entity, TRUE, $url);
// Register multiple link templates with 2 that share the same path.
$this->entityType
->getLinkTemplates()
->willReturn([
'canonical' => "/test-entity/{test_entity}/canonical",
'edit-form' => "/test-entity/{test_entity}/edit-form",
'foobar' => "/test-entity/{test_entity}/canonical",
]);
$url = $entity->toUrl();
$this->assertUrl('entity.test_entity.canonical', [
'test_entity' => static::ENTITY_ID,
], $entity, TRUE, $url);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.