public function AliasManagerTest::testGetAliasByPathMatch in Drupal 9
Same name and namespace in other branches
- 8 core/modules/path_alias/tests/src/Unit/AliasManagerTest.php \Drupal\Tests\path_alias\Unit\AliasManagerTest::testGetAliasByPathMatch()
Tests the getAliasByPath method for a path that has a matching alias.
@covers ::getAliasByPath @covers ::writeCache
File
- core/
modules/ path_alias/ tests/ src/ Unit/ AliasManagerTest.php, line 216
Class
- AliasManagerTest
- @coversDefaultClass \Drupal\path_alias\AliasManager @group path_alias
Namespace
Drupal\Tests\path_alias\UnitCode
public function testGetAliasByPathMatch() {
$path_part1 = $this
->randomMachineName();
$path_part2 = $this
->randomMachineName();
$path = '/' . $path_part1 . '/' . $path_part2;
$alias = $this
->randomMachineName();
$language = $this
->setUpCurrentLanguage();
$this->aliasManager
->setCacheKey($this->path);
$this->aliasWhitelist
->expects($this
->any())
->method('get')
->with($path_part1)
->will($this
->returnValue(TRUE));
$this->aliasRepository
->expects($this
->once())
->method('lookupBySystemPath')
->with($path, $language
->getId())
->will($this
->returnValue([
'alias' => $alias,
]));
$this
->assertEquals($alias, $this->aliasManager
->getAliasByPath($path));
// Call it twice to test the static cache.
$this
->assertEquals($alias, $this->aliasManager
->getAliasByPath($path));
// This needs to write out the cache.
$this->cache
->expects($this
->once())
->method('set')
->with($this->cacheKey, [
$language
->getId() => [
$path,
],
], (int) $_SERVER['REQUEST_TIME'] + 60 * 60 * 24);
$this->aliasManager
->writeCache();
}