public function DisplayAttachmentTest::testAttachmentUI in Drupal 8
Same name and namespace in other branches
- 9 core/modules/views_ui/tests/src/Functional/DisplayAttachmentTest.php \Drupal\Tests\views_ui\Functional\DisplayAttachmentTest::testAttachmentUI()
- 10 core/modules/views_ui/tests/src/Functional/DisplayAttachmentTest.php \Drupal\Tests\views_ui\Functional\DisplayAttachmentTest::testAttachmentUI()
Tests the attachment UI.
File
- core/
modules/ views_ui/ tests/ src/ Functional/ DisplayAttachmentTest.php, line 32
Class
- DisplayAttachmentTest
- Tests the UI for the attachment display plugin.
Namespace
Drupal\Tests\views_ui\FunctionalCode
public function testAttachmentUI() {
$this
->drupalGet('admin/structure/views/view/test_attachment_ui/edit/attachment_1');
$this
->assertText(t('Not defined'), 'The right text appears if there is no attachment selection yet.');
$attachment_display_url = 'admin/structure/views/nojs/display/test_attachment_ui/attachment_1/displays';
$this
->drupalGet($attachment_display_url);
// Display labels should be escaped.
$this
->assertEscaped('<em>Page</em>');
foreach ([
'default',
'page-1',
] as $display_id) {
$this
->assertNoFieldChecked("edit-displays-{$display_id}", new FormattableMarkup('Make sure the @display_id can be marked as attached', [
'@display_id' => $display_id,
]));
}
// Save the attachments and test the value on the view.
$this
->drupalPostForm($attachment_display_url, [
'displays[page_1]' => 1,
], t('Apply'));
// Options summary should be escaped.
$this
->assertEscaped('<em>Page</em>');
$this
->assertNoRaw('<em>Page</em>');
$result = $this
->xpath('//a[@id = :id]', [
':id' => 'views-attachment-1-displays',
]);
$this
->assertEqual($result[0]
->getAttribute('title'), t('Page'));
$this
->drupalPostForm(NULL, [], t('Save'));
$view = Views::getView('test_attachment_ui');
$view
->initDisplay();
$this
->assertEqual(array_keys(array_filter($view->displayHandlers
->get('attachment_1')
->getOption('displays'))), [
'page_1',
], 'The attached displays got saved as expected');
$this
->drupalPostForm($attachment_display_url, [
'displays[default]' => 1,
'displays[page_1]' => 1,
], t('Apply'));
$result = $this
->xpath('//a[@id = :id]', [
':id' => 'views-attachment-1-displays',
]);
$this
->assertEqual($result[0]
->getAttribute('title'), t('Multiple displays'));
$this
->drupalPostForm(NULL, [], t('Save'));
$view = Views::getView('test_attachment_ui');
$view
->initDisplay();
$this
->assertEqual(array_keys($view->displayHandlers
->get('attachment_1')
->getOption('displays')), [
'default',
'page_1',
], 'The attached displays got saved as expected');
}