Mercurial > hg > isophonics-drupal-site
view core/modules/system/tests/src/Kernel/PathHooksTest.php @ 18:af1871eacc83
Update to Drupal core 8.7.1
author | Chris Cannam |
---|---|
date | Thu, 09 May 2019 15:33:08 +0100 |
parents | 4c8ae668cc8c |
children |
line wrap: on
line source
<?php namespace Drupal\Tests\system\Kernel; use Drupal\Core\Language\LanguageInterface; use Drupal\Core\Path\AliasManagerInterface; use Drupal\KernelTests\KernelTestBase; use Prophecy\Argument; /** * @group Drupal */ class PathHooksTest extends KernelTestBase { /** * {@inheritdoc} */ public static $modules = ['system']; /** * Test system_path_*() correctly clears caches. */ public function testPathHooks() { $source = '/' . $this->randomMachineName(); $alias = '/' . $this->randomMachineName(); // Check system_path_insert(); $alias_manager = $this->prophesize(AliasManagerInterface::class); $alias_manager->cacheClear(Argument::any())->shouldBeCalledTimes(1); $alias_manager->cacheClear($source)->shouldBeCalledTimes(1); \Drupal::getContainer()->set('path.alias_manager', $alias_manager->reveal()); $alias_storage = \Drupal::service('path.alias_storage'); $alias_storage->save($source, $alias); $new_source = '/' . $this->randomMachineName(); $path = $alias_storage->load(['source' => $source]); // Check system_path_update(); $alias_manager = $this->prophesize(AliasManagerInterface::class); $alias_manager->cacheClear(Argument::any())->shouldBeCalledTimes(2); $alias_manager->cacheClear($source)->shouldBeCalledTimes(1); $alias_manager->cacheClear($new_source)->shouldBeCalledTimes(1); \Drupal::getContainer()->set('path.alias_manager', $alias_manager->reveal()); $alias_storage->save($new_source, $alias, LanguageInterface::LANGCODE_NOT_SPECIFIED, $path['pid']); // Check system_path_delete(); $alias_manager = $this->prophesize(AliasManagerInterface::class); $alias_manager->cacheClear(Argument::any())->shouldBeCalledTimes(1); $alias_manager->cacheClear($new_source)->shouldBeCalledTimes(1); \Drupal::getContainer()->set('path.alias_manager', $alias_manager->reveal()); $alias_storage->delete(['pid' => $path['pid']]); } }