public function BooleanFormatterSettingsTest::testBooleanFormatterSettings in Drupal 8
Same name in this branch
- 8 core/modules/field/tests/src/Functional/Boolean/BooleanFormatterSettingsTest.php \Drupal\Tests\field\Functional\Boolean\BooleanFormatterSettingsTest::testBooleanFormatterSettings()
- 8 core/modules/field/tests/src/FunctionalJavascript/Boolean/BooleanFormatterSettingsTest.php \Drupal\Tests\field\FunctionalJavascript\Boolean\BooleanFormatterSettingsTest::testBooleanFormatterSettings()
Same name and namespace in other branches
- 9 core/modules/field/tests/src/Functional/Boolean/BooleanFormatterSettingsTest.php \Drupal\Tests\field\Functional\Boolean\BooleanFormatterSettingsTest::testBooleanFormatterSettings()
Tests the formatter settings page for the Boolean formatter.
File
- core/
modules/ field/ tests/ src/ Functional/ Boolean/ BooleanFormatterSettingsTest.php, line 91
Class
- BooleanFormatterSettingsTest
- Tests the Boolean field formatter settings.
Namespace
Drupal\Tests\field\Functional\BooleanCode
public function testBooleanFormatterSettings() {
// List the options we expect to see on the settings form. Omit the one
// with the Unicode check/x characters, which does not appear to work
// well in WebTestBase.
$options = [
'Yes / No',
'True / False',
'On / Off',
'Enabled / Disabled',
'1 / 0',
'Custom',
];
// For several different values of the field settings, test that the
// options, including default, are shown correctly.
$settings = [
[
'Yes',
'No',
],
[
'On',
'Off',
],
[
'TRUE',
'FALSE',
],
];
$assert_session = $this
->assertSession();
foreach ($settings as $values) {
// Set up the field settings.
$this
->drupalGet('admin/structure/types/manage/' . $this->bundle . '/fields/node.' . $this->bundle . '.' . $this->fieldName);
$this
->drupalPostForm(NULL, [
'settings[on_label]' => $values[0],
'settings[off_label]' => $values[1],
], 'Save settings');
// Open the Manage Display page and trigger the field settings form.
$this
->drupalGet('admin/structure/types/manage/' . $this->bundle . '/display');
$this
->drupalPostForm(NULL, [], $this->fieldName . '_settings_edit');
// Test that the settings options are present in the correct format.
foreach ($options as $string) {
$assert_session
->pageTextContains($string);
}
$assert_session
->pageTextContains(t('Field settings (@on_label / @off_label)', [
'@on_label' => $values[0],
'@off_label' => $values[1],
]));
// Test that the settings summary are present in the correct format.
$this
->drupalGet('admin/structure/types/manage/' . $this->bundle . '/display');
$result = $this
->xpath('//div[contains(@class, :class) and contains(text(), :text)]', [
':class' => 'field-plugin-summary',
':text' => (string) t('Display: @true_label / @false_label', [
'@true_label' => $values[0],
'@false_label' => $values[1],
]),
]);
$this
->assertCount(1, $result, "Boolean formatter settings summary exist.");
}
}