diff --git a/tests/src/Kernel/FieldTest.php b/tests/src/Kernel/FieldTest.php
index de94699..20df93e 100644
--- a/tests/src/Kernel/FieldTest.php
+++ b/tests/src/Kernel/FieldTest.php
@@ -16,6 +16,7 @@
use Drupal\contact\Entity\Message;
use Drupal\Component\Utility\Html;
use Drupal\Core\Field\FieldStorageDefinitionInterface;
+use Drupal\simpletest\UserCreationTrait;
use Drupal\taxonomy\Tests\TaxonomyTestTrait;
use Drupal\language\Entity\ConfigurableLanguage;
@@ -27,6 +28,7 @@
class FieldTest extends KernelTestBase {
use TaxonomyTestTrait;
+ use UserCreationTrait;
/**
* @var \Drupal\filter\FilterFormatInterface
@@ -46,7 +48,26 @@ class FieldTest extends KernelTestBase {
*
* @var array
*/
- public static $modules = ['node', 'text', 'field', 'filter', 'contact', 'options', 'taxonomy', 'language', 'datetime', 'datetime_range'];
+ public static $modules = [
+ 'system',
+ 'node',
+ 'text',
+ 'field',
+ 'filter',
+ 'contact',
+ 'options',
+ 'taxonomy',
+ 'language',
+ 'datetime',
+ 'datetime_range'
+ ];
+
+ /**
+ * A regular user account.
+ *
+ * @var \Drupal\user\UserInterface
+ */
+ protected $regularUser;
/**
* {@inheritdoc}
@@ -54,6 +75,7 @@ class FieldTest extends KernelTestBase {
public function setUp() {
parent::setUp();
+ $this->installSchema('system', 'sequences');
$this->installEntitySchema('user');
$this->installEntitySchema('node');
$this->installEntitySchema('taxonomy_term');
@@ -633,10 +655,25 @@ public function testMultilingualFields() {
],
])->save();
+ // Access content permissions is sometimes required to view entity labels.
+ $this->regularUser = $this->createUser(['access content']);
+ $this->setCurrentUser($this->regularUser);
+
// Verify the :title token of the english node and the :name token of the
// english term it refers to. Also verify the value of the term's field.
+ // Verify every other format of those sorts of tokens, with or without
+ // deltas or :entity.
$this->assertTokens('node', ['node' => $node], [
'title' => 'english-node-title',
+ 'test_term_reference' => 'english-test-term',
+ 'test_term_reference:0' => 'english-test-term',
+ 'test_term_reference:0:entity' => 'english-test-term',
+ 'test_term_reference:0:entity:name' => 'english-test-term',
+ 'test_term_reference:0:entity:term_field:value' => 'english-term-field-value',
+ 'test_term_reference:0:entity:term_field' => 'english-term-field-value',
+ 'test_field:0' => 'test-english-field',
+ 'test_field:0:value' => 'test-english-field',
+ 'test_term_reference:entity' => 'english-test-term',
'test_term_reference:entity:name' => 'english-test-term',
'test_term_reference:entity:term_field:value' => 'english-term-field-value',
'test_term_reference:entity:term_field' => 'english-term-field-value',
@@ -648,6 +685,15 @@ public function testMultilingualFields() {
$german_node = $node->getTranslation('de');
$this->assertTokens('node', ['node' => $german_node], [
'title' => 'german-node-title',
+ 'test_term_reference' => 'german-test-term',
+ 'test_term_reference:0' => 'german-test-term',
+ 'test_term_reference:0:entity' => 'german-test-term',
+ 'test_term_reference:0:entity:name' => 'german-test-term',
+ 'test_term_reference:0:entity:term_field:value' => 'german-term-field-value',
+ 'test_term_reference:0:entity:term_field' => 'german-term-field-value',
+ 'test_field:0' => 'test-german-field',
+ 'test_field:0:value' => 'test-german-field',
+ 'test_term_reference:entity' => 'german-test-term',
'test_term_reference:entity:name' => 'german-test-term',
'test_term_reference:entity:term_field:value' => 'german-term-field-value',
'test_term_reference:entity:term_field' => 'german-term-field-value',
@@ -660,6 +706,10 @@ public function testMultilingualFields() {
$tokens = [
'test_field' => 'test-german-field',
'test_field:value' => 'test-german-field',
+ 'test_term_reference' => 'german-test-term',
+ 'test_term_reference:0' => 'german-test-term',
+ 'test_term_reference:0:entity:term_field' => 'german-term-field-value',
+ 'test_term_reference:0:entity:term_field:value' => 'german-term-field-value',
'test_term_reference:entity:term_field' => 'german-term-field-value',
'test_term_reference:entity:term_field:value' => 'german-term-field-value',
];