function NodeTranslationUITest::testDetailsTitleIsNotEscaped
Same name in other branches
- 9 core/modules/node/tests/src/Functional/NodeTranslationUITest.php \Drupal\Tests\node\Functional\NodeTranslationUITest::testDetailsTitleIsNotEscaped()
- 8.9.x core/modules/node/tests/src/Functional/NodeTranslationUITest.php \Drupal\Tests\node\Functional\NodeTranslationUITest::testDetailsTitleIsNotEscaped()
- 10 core/modules/node/tests/src/Functional/NodeTranslationUITest.php \Drupal\Tests\node\Functional\NodeTranslationUITest::testDetailsTitleIsNotEscaped()
Tests title is not escaped (but XSS-filtered) for details form element.
File
-
core/
modules/ node/ tests/ src/ Functional/ NodeTranslationUITest.php, line 556
Class
- NodeTranslationUITest
- Tests the Node Translation UI.
Namespace
Drupal\Tests\node\FunctionalCode
public function testDetailsTitleIsNotEscaped() : void {
// Create an image field.
\Drupal::service('module_installer')->install([
'image',
]);
FieldStorageConfig::create([
'entity_type' => 'node',
'field_name' => 'field_image',
'type' => 'image',
])->save();
FieldConfig::create([
'entity_type' => 'node',
'field_name' => 'field_image',
'bundle' => 'article',
'translatable' => TRUE,
])->save();
$this->drupalLogin($this->administrator);
// Make the image field a multi-value field in order to display a
// details form element.
$edit = [
'field_storage[subform][cardinality_number]' => 2,
];
$this->drupalGet('admin/structure/types/manage/article/fields/node.article.field_image');
$this->submitForm($edit, 'Save');
// Enable the display of the image field.
EntityFormDisplay::load('node.article.default')->setComponent('field_image', [
'region' => 'content',
])
->save();
// Make the image field non-translatable.
static::setFieldTranslatable('node', 'article', 'field_image', FALSE);
// Create a node.
$nid = $this->createEntity([
'title' => 'Node with multi-value image field en title',
], 'en');
// Add a French translation and assert the title markup is not escaped.
$this->drupalGet("node/{$nid}/translations/add/en/fr");
$markup = 'Image <span class="translation-entity-all-languages">(all languages)</span>';
$this->assertSession()
->assertNoEscaped($markup);
$this->assertSession()
->responseContains($markup);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.