function EntityUrlTest::testToUrlUriCallback

Same name in other branches
  1. 9 core/tests/Drupal/Tests/Core/Entity/EntityUrlTest.php \Drupal\Tests\Core\Entity\EntityUrlTest::testToUrlUriCallback()
  2. 8.9.x core/tests/Drupal/Tests/Core/Entity/EntityUrlTest.php \Drupal\Tests\Core\Entity\EntityUrlTest::testToUrlUriCallback()
  3. 11.x core/tests/Drupal/Tests/Core/Entity/EntityUrlTest.php \Drupal\Tests\Core\Entity\EntityUrlTest::testToUrlUriCallback()

Tests the toUrl() method with a URI callback.

@covers ::toUrl @covers ::linkTemplates

@dataProvider providerTestToUrlUriCallback

Parameters

array $bundle_info: An array of bundle info to register.

\Closure|null $uri_callback: The entity type URI callback to register.

File

core/tests/Drupal/Tests/Core/Entity/EntityUrlTest.php, line 398

Class

EntityUrlTest
Tests URL handling of the \Drupal\Core\Entity\EntityBase class.

Namespace

Drupal\Tests\Core\Entity

Code

public function testToUrlUriCallback(array $bundle_info, ?\Closure $uri_callback) : void {
    $entity = $this->getEntity(UrlTestEntity::class, [
        'id' => static::ENTITY_ID,
        'langcode' => $this->langcode,
    ]);
    $this->registerBundleInfo($bundle_info);
    $this->entityType
        ->getUriCallback()
        ->willReturn($uri_callback);
    
    /** @var \Drupal\Core\Url $url */
    $url = $entity->toUrl('canonical');
    $this->assertUrl('<none>', [], $entity, TRUE, $url);
    $url = $entity->toUrl();
    $this->assertUrl('<none>', [], $entity, TRUE, $url);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.