function PathAliasTest::testPathCache in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/modules/path/src/Tests/PathAliasTest.php \Drupal\path\Tests\PathAliasTest::testPathCache()
Tests the path cache.
File
- core/
modules/ path/ src/ Tests/ PathAliasTest.php, line 40 - Contains \Drupal\path\Tests\PathAliasTest.
Class
- PathAliasTest
- Add, edit, delete, and change alias and verify its consistency in the database.
Namespace
Drupal\path\TestsCode
function testPathCache() {
// Create test node.
$node1 = $this
->drupalCreateNode();
// Create alias.
$edit = array();
$edit['source'] = '/node/' . $node1
->id();
$edit['alias'] = '/' . $this
->randomMachineName(8);
$this
->drupalPostForm('admin/config/search/path/add', $edit, t('Save'));
// Check the path alias whitelist cache.
$whitelist = \Drupal::cache()
->get('path_alias_whitelist');
$this
->assertTrue($whitelist->data['node']);
$this
->assertFalse($whitelist->data['admin']);
// Visit the system path for the node and confirm a cache entry is
// created.
\Drupal::cache('data')
->deleteAll();
// Make sure the path is not converted to the alias.
$this
->drupalGet(trim($edit['source'], '/'), array(
'alias' => TRUE,
));
$this
->assertTrue(\Drupal::cache('data')
->get('preload-paths:' . $edit['source']), 'Cache entry was created.');
// Visit the alias for the node and confirm a cache entry is created.
\Drupal::cache('data')
->deleteAll();
// @todo Remove this once https://www.drupal.org/node/2480077 lands.
Cache::invalidateTags([
'rendered',
]);
$this
->drupalGet(trim($edit['alias'], '/'));
$this
->assertTrue(\Drupal::cache('data')
->get('preload-paths:' . $edit['source']), 'Cache entry was created.');
}