Loading name.install +3 −3 Changes for name.install: 3 added lines, 3 removed lines. Original line number Diff line number Diff line Loading @@ -78,14 +78,14 @@ function name_update_8202() { function name_update_8203() { $config_factory = \Drupal::configFactory(); $config_path = drupal_get_path('module', 'name') . '/config/install/name.generate.components.yml'; $config_path = \Drupal::service('extension.list.module')->getPath('name') . '/config/install/name.generate.components.yml'; $data = Yaml::parse(file_get_contents($config_path)); $config = $config_factory->getEditable('name.generate.components'); $config->set('components', $data['components']); $config->set('gender', $data['gender']); $config->save(TRUE); $config_path = drupal_get_path('module', 'name') . '/config/install/name.generate.preferred.yml'; $config_path = \Drupal::service('extension.list.module')->getPath('name') . '/config/install/name.generate.preferred.yml'; $data = Yaml::parse(file_get_contents($config_path)); $config = $config_factory->getEditable('name.generate.preferred'); $config->set('preferred', $data['preferred']); Loading @@ -105,7 +105,7 @@ function name_update_8203() { $old_config->delete(); } else { $config_path = drupal_get_path('module', 'name') . '/config/install/name.generate.examples.yml'; $config_path = \Drupal::service('extension.list.module')->getPath('name') . '/config/install/name.generate.examples.yml'; $data = Yaml::parse(file_get_contents($config_path)); $config = $config_factory->getEditable('name.generate.examples'); $config->set('examples', $data['examples']); Loading name.module +1 −1 Changes for name.module: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -482,7 +482,7 @@ function name_element_render_component(array $components, $component_key, array '#required' => $show_component_required_marker, '#title_display' => 'before', ]; $element['#title'] = render($label); $element['#title'] = \Drupal::service('renderer')->render($label); break; case 'placeholder': Loading tests/src/Functional/NameAdminTest.php +53 −43 Changes for tests/src/Functional/NameAdminTest.php: 53 added lines, 43 removed lines. Original line number Diff line number Diff line Loading @@ -100,21 +100,22 @@ class NameAdminTest extends NameTestBase { 'name_settings[sep3]' => '', ]; foreach ($default_values as $name => $value) { $this->assertField($name, $value); $this->assertSession()->fieldExists($name, $value); } // ID example. $this->assertFieldById('edit-name-settings-sep1', ' ', t('Sep 1 default value.')); $this->assertSession()->fieldValueEquals('edit-name-settings-sep1', ' '); $test_values = [ 'name_settings[sep1]' => '~', 'name_settings[sep2]' => '^', 'name_settings[sep3]' => '-', ]; $this->drupalPostForm('admin/config/regional/name/settings', $test_values, t('Save configuration')); $this->assertText(t('The configuration options have been saved.')); $this->drupalGet('admin/config/regional/name/settings'); $this->submitForm($test_values, t('Save configuration')); $this->assertSession()->pageTextContains(t('The configuration options have been saved.')); foreach ($test_values as $name => $value) { $this->assertField($name, $value); $this->assertSession()->fieldExists($name, $value); } // Delete all existing formats. Loading @@ -126,32 +127,37 @@ class NameAdminTest extends NameTestBase { }); $this->drupalGet('admin/config/regional/name/add'); $this->assertRaw('Format string help', 'Testing the help fieldgroup'); $this->assertSession()->responseContains('Format string help'); $values = ['label' => '', 'id' => '', 'pattern' => '']; $this->drupalPostForm('admin/config/regional/name/add', $values, t('Save format')); $this->drupalGet('admin/config/regional/name/add'); $this->submitForm($values, t('Save format')); foreach ([t('Name'), t('Machine-readable name'), t('Format')] as $title) { $this->assertText(t('@field field is required', ['@field' => $title])); $this->assertSession()->pageTextContains(t('@field field is required', ['@field' => $title])); } $values = [ 'label' => 'given', 'id' => '1234567890abcdefghijklmnopqrstuvwxyz_', 'pattern' => 'a', ]; $this->drupalPostForm('admin/config/regional/name/add', $values, t('Save format')); $this->assertNoText(t('@field field is required', ['@field' => t('Format')])); $this->assertNoText(t('@field field is required', ['@field' => t('Machine-readable name')])); $this->drupalGet('admin/config/regional/name/add'); $this->submitForm($values, t('Save format')); $this->assertSession()->pageTextNotContains(t('@field field is required', ['@field' => t('Format')])); $this->assertSession()->pageTextNotContains(t('@field field is required', ['@field' => t('Machine-readable name')])); $values = ['label' => 'given', 'id' => '%&*(', 'pattern' => 'a']; $this->drupalPostForm('admin/config/regional/name/add', $values, t('Save format')); $this->assertText(t('The machine-readable name must contain only lowercase letters, numbers, and underscores.')); $this->drupalGet('admin/config/regional/name/add'); $this->submitForm($values, t('Save format')); $this->assertSession()->pageTextContains(t('The machine-readable name must contain only lowercase letters, numbers, and underscores.')); $values = ['label' => 'default', 'id' => 'default', 'pattern' => 'a']; $this->drupalPostForm('admin/config/regional/name/add', $values, t('Save format')); $this->assertText(t('The machine-readable name is already in use. It must be unique.')); $this->drupalGet('admin/config/regional/name/add'); $this->submitForm($values, t('Save format')); $this->assertSession()->pageTextContains(t('The machine-readable name is already in use. It must be unique.')); $values = ['label' => 'Test', 'id' => 'test', 'pattern' => '\a\bc']; $this->drupalPostForm('admin/config/regional/name/add', $values, t('Save format')); $this->assertText(t('Name format Test added.')); $this->drupalGet('admin/config/regional/name/add'); $this->submitForm($values, t('Save format')); $this->assertSession()->pageTextContains(t('Name format Test added.')); $row = [ 'title' => 'Test', Loading @@ -164,8 +170,9 @@ class NameAdminTest extends NameTestBase { $this->assertRow($row, $row_template, 3); $values = ['label' => 'new name', 'pattern' => 'f+g']; $this->drupalPostForm('admin/config/regional/name/manage/test', $values, t('Save format')); $this->assertText(t('Name format new name has been updated.')); $this->drupalGet('admin/config/regional/name/manage/test'); $this->submitForm($values, t('Save format')); $this->assertSession()->pageTextContains(t('Name format new name has been updated.')); $row = [ 'label' => $values['label'], Loading @@ -175,16 +182,16 @@ class NameAdminTest extends NameTestBase { $this->assertRow($row, $row_template, 3); $this->drupalGet('admin/config/regional/name/manage/60'); $this->assertResponse(404); $this->assertSession()->statusCodeEquals(404); $this->drupalGet('admin/config/regional/name/manage/60/delete'); $this->assertResponse(404); $this->assertSession()->statusCodeEquals(404); $this->drupalGet('admin/config/regional/name/manage/test/delete'); $this->assertText(t('Are you sure you want to delete the custom format @title?', ['@title' => $values['label']])); $this->assertSession()->pageTextContains(t('Are you sure you want to delete the custom format @title?', ['@title' => $values['label']])); $this->drupalPostForm(NULL, [], t('Delete')); $this->assertText(t('The name format @title has been deleted.', ['@title' => $values['label']])); $this->submitForm([], t('Delete')); $this->assertSession()->pageTextContains(t('The name format @title has been deleted.', ['@title' => $values['label']])); } /** Loading Loading @@ -236,13 +243,14 @@ class NameAdminTest extends NameTestBase { // Integers 1 through 20. // 'el_al_first' => '', ]; $this->drupalPostForm('admin/config/regional/name/list/add', $values, t('Save list format')); $this->drupalGet('admin/config/regional/name/list/add'); $this->submitForm($values, t('Save list format')); $labels = [ t('Name'), t('Machine-readable name'), ]; foreach ($labels as $title) { $this->assertText(t('@field field is required', ['@field' => $title])); $this->assertSession()->pageTextContains(t('@field field is required', ['@field' => $title])); } $values = [ 'label' => 'comma', Loading @@ -253,17 +261,20 @@ class NameAdminTest extends NameTestBase { 'el_al_min' => '14', 'el_al_first' => '5', ]; $this->drupalPostForm('admin/config/regional/name/list/add', $values, t('Save list format')); $this->assertNoText(t('@field field is required', ['@field' => t('Last delimiter type')])); $this->assertNoText(t('@field field is required', ['@field' => t('Machine-readable name')])); $this->drupalGet('admin/config/regional/name/list/add'); $this->submitForm($values, t('Save list format')); $this->assertSession()->pageTextNotContains(t('@field field is required', ['@field' => t('Last delimiter type')])); $this->assertSession()->pageTextNotContains(t('@field field is required', ['@field' => t('Machine-readable name')])); $values['id'] = '%&*('; $this->drupalPostForm('admin/config/regional/name/list/add', $values, t('Save list format')); $this->assertText(t('The machine-readable name must contain only lowercase letters, numbers, and underscores.')); $this->drupalGet('admin/config/regional/name/list/add'); $this->submitForm($values, t('Save list format')); $this->assertSession()->pageTextContains(t('The machine-readable name must contain only lowercase letters, numbers, and underscores.')); $values = ['label' => 'default', 'id' => 'default', 'delimiter' => 'a']; $this->drupalPostForm('admin/config/regional/name/list/add', $values, t('Save list format')); $this->assertText(t('The machine-readable name is already in use. It must be unique.')); $this->drupalGet('admin/config/regional/name/list/add'); $this->submitForm($values, t('Save list format')); $this->assertSession()->pageTextContains(t('The machine-readable name is already in use. It must be unique.')); $values = [ 'label' => 'Test label', Loading @@ -274,8 +285,9 @@ class NameAdminTest extends NameTestBase { 'el_al_min' => '3', 'el_al_first' => '1', ]; $this->drupalPostForm('admin/config/regional/name/list/add', $values, t('Save list format')); $this->assertText(t('Name list format Test label added.')); $this->drupalGet('admin/config/regional/name/list/add'); $this->submitForm($values, t('Save list format')); $this->assertSession()->pageTextContains(t('Name list format Test label added.')); $row = [ 'title' => 'Test label', Loading @@ -293,16 +305,16 @@ class NameAdminTest extends NameTestBase { $this->assertRowContains(['settings' => $summary_text], $row_template, 3); $this->drupalGet('admin/config/regional/name/list/manage/60'); $this->assertResponse(404); $this->assertSession()->statusCodeEquals(404); $this->drupalGet('admin/config/regional/name/list/manage/60/delete'); $this->assertResponse(404); $this->assertSession()->statusCodeEquals(404); $this->drupalGet('admin/config/regional/name/list/manage/test/delete'); $this->assertText(t('Are you sure you want to delete the custom list format @title?', ['@title' => $values['label']])); $this->assertSession()->pageTextContains(t('Are you sure you want to delete the custom list format @title?', ['@title' => $values['label']])); $this->drupalPostForm(NULL, [], t('Delete')); $this->assertText(t('The name list format @title has been deleted.', ['@title' => $values['label']])); $this->submitForm([], t('Delete')); $this->assertSession()->pageTextContains(t('The name list format @title has been deleted.', ['@title' => $values['label']])); } /** Loading @@ -326,9 +338,7 @@ class NameAdminTest extends NameTestBase { $results = isset($elements[0]) ? $elements[0]->getHtml() : ''; $message = "Testing {$cell_code} on row {$id} using '{$xpath}' and expecting '" . Html::escape($value) . "', got '" . Html::escape($results) . "'."; if ($results == $value || strpos($results, $value . '?destination=') === 0) { $this->pass($message); } else { } else { $this->fail($message); } } Loading tests/src/Functional/NameFieldTest.php +35 −26 Changes for tests/src/Functional/NameFieldTest.php: 35 added lines, 26 removed lines. Original line number Diff line number Diff line Loading @@ -17,7 +17,7 @@ class NameFieldTest extends NameTestBase { * * @var array */ public static $modules = [ protected static $modules = [ 'field', 'field_ui', 'node', Loading @@ -28,7 +28,7 @@ class NameFieldTest extends NameTestBase { /** * {@inheritdoc} */ public function setUp() { public function setUp(): void { parent::setUp(); // Create content-type: page. Loading @@ -50,10 +50,12 @@ class NameFieldTest extends NameTestBase { 'field_name' => 'name_test', 'new_storage_type' => 'name', ]; $this->drupalGet('admin/structure/types/manage/page/fields/add-field'); $this->drupalPostForm('admin/structure/types/manage/page/fields/add-field', $new_name_field, t('Save and continue')); $this->submitForm($new_name_field, t('Save and continue')); $storage_settings = []; $this->drupalPostForm('admin/structure/types/manage/page/fields/node.page.field_name_test/storage', $storage_settings, t('Save field settings')); $this->drupalGet('admin/structure/types/manage/page/fields/node.page.field_name_test/storage'); $this->submitForm($storage_settings, t('Save field settings')); $this->resetAll(); // Required test. Loading @@ -64,8 +66,9 @@ class NameFieldTest extends NameTestBase { foreach ($this->nameGetFieldStorageSettingsCheckboxes() as $key => $value) { $field_settings[$key] = FALSE; } $this->drupalGet('admin/structure/types/manage/page/fields/node.page.field_name_test'); $this->drupalPostForm('admin/structure/types/manage/page/fields/node.page.field_name_test', $field_settings, t('Save settings')); $this->submitForm($field_settings, t('Save settings')); $n = _name_translations(); $required_messages = [ Loading @@ -92,7 +95,7 @@ class NameFieldTest extends NameTestBase { ]), ]; foreach ($required_messages as $message) { $this->assertText($message); $this->assertSession()->pageTextContains($message); } $field_settings = [ 'settings[components][title]' => FALSE, Loading Loading @@ -120,7 +123,8 @@ class NameFieldTest extends NameTestBase { 'settings[generational_options]' => "-- --\nJr.\nSr.\nI\nII\nIII\nIV\nV\nVI\nVII\nVIII\nIX\nX\n[vocabulary:123]", ]; $this->resetAll(); $this->drupalPostForm('admin/structure/types/manage/page/fields/node.page.field_name_test', $field_settings, t('Save settings')); $this->drupalGet('admin/structure/types/manage/page/fields/node.page.field_name_test'); $this->submitForm($field_settings, t('Save settings')); $required_messages = [ t('@field must be higher than or equal to 1.', ['@field' => $n['title']]), Loading @@ -141,7 +145,7 @@ class NameFieldTest extends NameTestBase { ]), ]; foreach ($required_messages as $message) { $this->assertText($message); $this->assertSession()->pageTextContains($message); } // Make sure option lengths do not exceed the title lengths. Loading @@ -152,7 +156,8 @@ class NameFieldTest extends NameTestBase { 'settings[generational_options]' => "AAAA\n-- --\nJr.\nSr.\nI\nII\nIII\nIV\nV\nVI\nVII\nVIII\nIX\nX\nBBBB", ]; $this->resetAll(); $this->drupalPostForm('admin/structure/types/manage/page/fields/node.page.field_name_test', $field_settings, t('Save settings')); $this->drupalGet('admin/structure/types/manage/page/fields/node.page.field_name_test'); $this->submitForm($field_settings, t('Save settings')); $required_messages = [ t('The following options exceed the maximum allowed @field length: Aaaaa., Bbbbbbbb, Ccccc.', [ '@field' => t('@title options', ['@title' => $n['title']]), Loading @@ -163,7 +168,7 @@ class NameFieldTest extends NameTestBase { ]; foreach ($required_messages as $message) { $this->assertText($message); $this->assertSession()->pageTextContains($message); } // Make sure option have at least one valid option. Loading @@ -172,13 +177,14 @@ class NameFieldTest extends NameTestBase { 'settings[generational_options]' => " \n-- --\n ", ]; $this->resetAll(); $this->drupalPostForm('admin/structure/types/manage/page/fields/node.page.field_name_test', $field_settings, t('Save settings')); $this->drupalGet('admin/structure/types/manage/page/fields/node.page.field_name_test'); $this->submitForm($field_settings, t('Save settings')); $required_messages = [ t('@field are required.', ['@field' => t('@title options', ['@title' => $n['title']])]), t('@field are required.', ['@field' => t('@generational options', ['@generational' => $n['generational']])]), ]; foreach ($required_messages as $message) { $this->assertText($message); $this->assertSession()->pageTextContains($message); } // Make sure option have at least one valid only have one default value. Loading @@ -187,7 +193,8 @@ class NameFieldTest extends NameTestBase { 'settings[generational_options]' => "-- --\nJr.\nSr.\nI\nII\nIII\nIV\nV\nVI\n--", ]; $this->resetAll(); $this->drupalPostForm('admin/structure/types/manage/page/fields/node.page.field_name_test', $field_settings, t('Save settings')); $this->drupalGet('admin/structure/types/manage/page/fields/node.page.field_name_test'); $this->submitForm($field_settings, t('Save settings')); $required_messages = [ t('@field can only have one blank value assigned to it.', [ '@field' => t('@title options', [ Loading @@ -201,14 +208,15 @@ class NameFieldTest extends NameTestBase { ]), ]; foreach ($required_messages as $message) { $this->assertText($message); $this->assertSession()->pageTextContains($message); } // Save the field again with the default values. $this->resetAll(); $this->drupalPostForm('admin/structure/types/manage/page/fields/node.page.field_name_test', $this->nameGetFieldStorageSettings(), t('Save settings')); $this->drupalGet('admin/structure/types/manage/page/fields/node.page.field_name_test'); $this->submitForm($this->nameGetFieldStorageSettings(), t('Save settings')); $this->assertText(t('Saved Test name configuration.')); $this->assertSession()->pageTextContains(t('Saved Test name configuration.')); // First, check that field validation is working. $field_settings = [ Loading Loading @@ -238,7 +246,8 @@ class NameFieldTest extends NameTestBase { ]; $this->resetAll(); $this->drupalPostForm('admin/structure/types/manage/page/fields/node.page.field_name_test', $field_settings, t('Save settings')); $this->drupalGet('admin/structure/types/manage/page/fields/node.page.field_name_test'); $this->submitForm($field_settings, t('Save settings')); $required_messages = [ t('Maximum length for @field must be higher than or equal to 1.', ['@field' => $n['title']]), Loading @@ -261,7 +270,7 @@ class NameFieldTest extends NameTestBase { ]), ]; foreach ($required_messages as $message) { $this->assertText($message); $this->assertSession()->pageTextContains($message); } $field_settings = [ Loading @@ -285,7 +294,7 @@ class NameFieldTest extends NameTestBase { $this->drupalGet('admin/structure/types/manage/page/fields/node.page.field_name_test'); foreach ($field_settings as $name => $value) { $this->assertFieldByName($name, $value); $this->assertSession()->fieldValueEquals($name, $value); } // Check help text display. Loading @@ -293,32 +302,32 @@ class NameFieldTest extends NameTestBase { $edit = [ 'description' => 'This is a description.', ]; $this->drupalPostForm(NULL, $edit, t('Save settings')); $this->submitForm($edit, t('Save settings')); $this->drupalGet('admin/structure/types/manage/page/fields/node.page.field_name_test/storage'); $edit = [ 'cardinality' => 'number', 'cardinality_number' => 1, ]; $this->drupalPostForm(NULL, $edit, t('Save field settings')); $this->submitForm($edit, t('Save field settings')); $this->drupalGet('node/add/page'); $this->assertUniqueText('This is a description.', 'Field description is shown once when field cardinality is 1.'); $this->assertSession()->pageTextContainsOnce('This is a description.', 'Field description is shown once when field cardinality is 1.'); $this->drupalGet('admin/structure/types/manage/page/fields/node.page.field_name_test/storage'); $edit = [ 'cardinality' => 'number', 'cardinality_number' => 3, ]; $this->drupalPostForm(NULL, $edit, t('Save field settings')); $this->submitForm($edit, t('Save field settings')); $this->drupalGet('node/add/page'); $this->assertUniqueText('This is a description.', 'Field description is shown once when field cardinality is 3.'); $this->assertSession()->pageTextContainsOnce('This is a description.', 'Field description is shown once when field cardinality is 3.'); $this->drupalGet('admin/structure/types/manage/page/fields/node.page.field_name_test/storage'); $edit = [ 'cardinality' => '-1', ]; $this->drupalPostForm(NULL, $edit, t('Save field settings')); $this->submitForm($edit, t('Save field settings')); $this->drupalGet('node/add/page'); $this->assertUniqueText('This is a description.', 'Field description is shown once when field cardinality is unlimited.'); $this->assertSession()->pageTextContainsOnce('This is a description.', 'Field description is shown once when field cardinality is unlimited.'); } /** Loading tests/src/Functional/NameNodeTokenReplaceTest.php +2 −2 Changes for tests/src/Functional/NameNodeTokenReplaceTest.php: 2 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ class NameNodeTokenReplaceTest extends NameTestBase { * * @var array */ public static $modules = ['node', 'filter', 'token']; protected static $modules = ['node', 'filter', 'token']; /** * The name formatter. Loading @@ -40,7 +40,7 @@ class NameNodeTokenReplaceTest extends NameTestBase { /** * {@inheritdoc} */ public function setUp() { public function setUp(): void { parent::setUp(); $this->interfaceLanguage = \Drupal::languageManager()->getCurrentLanguage(); Loading Loading
name.install +3 −3 Changes for name.install: 3 added lines, 3 removed lines. Original line number Diff line number Diff line Loading @@ -78,14 +78,14 @@ function name_update_8202() { function name_update_8203() { $config_factory = \Drupal::configFactory(); $config_path = drupal_get_path('module', 'name') . '/config/install/name.generate.components.yml'; $config_path = \Drupal::service('extension.list.module')->getPath('name') . '/config/install/name.generate.components.yml'; $data = Yaml::parse(file_get_contents($config_path)); $config = $config_factory->getEditable('name.generate.components'); $config->set('components', $data['components']); $config->set('gender', $data['gender']); $config->save(TRUE); $config_path = drupal_get_path('module', 'name') . '/config/install/name.generate.preferred.yml'; $config_path = \Drupal::service('extension.list.module')->getPath('name') . '/config/install/name.generate.preferred.yml'; $data = Yaml::parse(file_get_contents($config_path)); $config = $config_factory->getEditable('name.generate.preferred'); $config->set('preferred', $data['preferred']); Loading @@ -105,7 +105,7 @@ function name_update_8203() { $old_config->delete(); } else { $config_path = drupal_get_path('module', 'name') . '/config/install/name.generate.examples.yml'; $config_path = \Drupal::service('extension.list.module')->getPath('name') . '/config/install/name.generate.examples.yml'; $data = Yaml::parse(file_get_contents($config_path)); $config = $config_factory->getEditable('name.generate.examples'); $config->set('examples', $data['examples']); Loading
name.module +1 −1 Changes for name.module: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -482,7 +482,7 @@ function name_element_render_component(array $components, $component_key, array '#required' => $show_component_required_marker, '#title_display' => 'before', ]; $element['#title'] = render($label); $element['#title'] = \Drupal::service('renderer')->render($label); break; case 'placeholder': Loading
tests/src/Functional/NameAdminTest.php +53 −43 Changes for tests/src/Functional/NameAdminTest.php: 53 added lines, 43 removed lines. Original line number Diff line number Diff line Loading @@ -100,21 +100,22 @@ class NameAdminTest extends NameTestBase { 'name_settings[sep3]' => '', ]; foreach ($default_values as $name => $value) { $this->assertField($name, $value); $this->assertSession()->fieldExists($name, $value); } // ID example. $this->assertFieldById('edit-name-settings-sep1', ' ', t('Sep 1 default value.')); $this->assertSession()->fieldValueEquals('edit-name-settings-sep1', ' '); $test_values = [ 'name_settings[sep1]' => '~', 'name_settings[sep2]' => '^', 'name_settings[sep3]' => '-', ]; $this->drupalPostForm('admin/config/regional/name/settings', $test_values, t('Save configuration')); $this->assertText(t('The configuration options have been saved.')); $this->drupalGet('admin/config/regional/name/settings'); $this->submitForm($test_values, t('Save configuration')); $this->assertSession()->pageTextContains(t('The configuration options have been saved.')); foreach ($test_values as $name => $value) { $this->assertField($name, $value); $this->assertSession()->fieldExists($name, $value); } // Delete all existing formats. Loading @@ -126,32 +127,37 @@ class NameAdminTest extends NameTestBase { }); $this->drupalGet('admin/config/regional/name/add'); $this->assertRaw('Format string help', 'Testing the help fieldgroup'); $this->assertSession()->responseContains('Format string help'); $values = ['label' => '', 'id' => '', 'pattern' => '']; $this->drupalPostForm('admin/config/regional/name/add', $values, t('Save format')); $this->drupalGet('admin/config/regional/name/add'); $this->submitForm($values, t('Save format')); foreach ([t('Name'), t('Machine-readable name'), t('Format')] as $title) { $this->assertText(t('@field field is required', ['@field' => $title])); $this->assertSession()->pageTextContains(t('@field field is required', ['@field' => $title])); } $values = [ 'label' => 'given', 'id' => '1234567890abcdefghijklmnopqrstuvwxyz_', 'pattern' => 'a', ]; $this->drupalPostForm('admin/config/regional/name/add', $values, t('Save format')); $this->assertNoText(t('@field field is required', ['@field' => t('Format')])); $this->assertNoText(t('@field field is required', ['@field' => t('Machine-readable name')])); $this->drupalGet('admin/config/regional/name/add'); $this->submitForm($values, t('Save format')); $this->assertSession()->pageTextNotContains(t('@field field is required', ['@field' => t('Format')])); $this->assertSession()->pageTextNotContains(t('@field field is required', ['@field' => t('Machine-readable name')])); $values = ['label' => 'given', 'id' => '%&*(', 'pattern' => 'a']; $this->drupalPostForm('admin/config/regional/name/add', $values, t('Save format')); $this->assertText(t('The machine-readable name must contain only lowercase letters, numbers, and underscores.')); $this->drupalGet('admin/config/regional/name/add'); $this->submitForm($values, t('Save format')); $this->assertSession()->pageTextContains(t('The machine-readable name must contain only lowercase letters, numbers, and underscores.')); $values = ['label' => 'default', 'id' => 'default', 'pattern' => 'a']; $this->drupalPostForm('admin/config/regional/name/add', $values, t('Save format')); $this->assertText(t('The machine-readable name is already in use. It must be unique.')); $this->drupalGet('admin/config/regional/name/add'); $this->submitForm($values, t('Save format')); $this->assertSession()->pageTextContains(t('The machine-readable name is already in use. It must be unique.')); $values = ['label' => 'Test', 'id' => 'test', 'pattern' => '\a\bc']; $this->drupalPostForm('admin/config/regional/name/add', $values, t('Save format')); $this->assertText(t('Name format Test added.')); $this->drupalGet('admin/config/regional/name/add'); $this->submitForm($values, t('Save format')); $this->assertSession()->pageTextContains(t('Name format Test added.')); $row = [ 'title' => 'Test', Loading @@ -164,8 +170,9 @@ class NameAdminTest extends NameTestBase { $this->assertRow($row, $row_template, 3); $values = ['label' => 'new name', 'pattern' => 'f+g']; $this->drupalPostForm('admin/config/regional/name/manage/test', $values, t('Save format')); $this->assertText(t('Name format new name has been updated.')); $this->drupalGet('admin/config/regional/name/manage/test'); $this->submitForm($values, t('Save format')); $this->assertSession()->pageTextContains(t('Name format new name has been updated.')); $row = [ 'label' => $values['label'], Loading @@ -175,16 +182,16 @@ class NameAdminTest extends NameTestBase { $this->assertRow($row, $row_template, 3); $this->drupalGet('admin/config/regional/name/manage/60'); $this->assertResponse(404); $this->assertSession()->statusCodeEquals(404); $this->drupalGet('admin/config/regional/name/manage/60/delete'); $this->assertResponse(404); $this->assertSession()->statusCodeEquals(404); $this->drupalGet('admin/config/regional/name/manage/test/delete'); $this->assertText(t('Are you sure you want to delete the custom format @title?', ['@title' => $values['label']])); $this->assertSession()->pageTextContains(t('Are you sure you want to delete the custom format @title?', ['@title' => $values['label']])); $this->drupalPostForm(NULL, [], t('Delete')); $this->assertText(t('The name format @title has been deleted.', ['@title' => $values['label']])); $this->submitForm([], t('Delete')); $this->assertSession()->pageTextContains(t('The name format @title has been deleted.', ['@title' => $values['label']])); } /** Loading Loading @@ -236,13 +243,14 @@ class NameAdminTest extends NameTestBase { // Integers 1 through 20. // 'el_al_first' => '', ]; $this->drupalPostForm('admin/config/regional/name/list/add', $values, t('Save list format')); $this->drupalGet('admin/config/regional/name/list/add'); $this->submitForm($values, t('Save list format')); $labels = [ t('Name'), t('Machine-readable name'), ]; foreach ($labels as $title) { $this->assertText(t('@field field is required', ['@field' => $title])); $this->assertSession()->pageTextContains(t('@field field is required', ['@field' => $title])); } $values = [ 'label' => 'comma', Loading @@ -253,17 +261,20 @@ class NameAdminTest extends NameTestBase { 'el_al_min' => '14', 'el_al_first' => '5', ]; $this->drupalPostForm('admin/config/regional/name/list/add', $values, t('Save list format')); $this->assertNoText(t('@field field is required', ['@field' => t('Last delimiter type')])); $this->assertNoText(t('@field field is required', ['@field' => t('Machine-readable name')])); $this->drupalGet('admin/config/regional/name/list/add'); $this->submitForm($values, t('Save list format')); $this->assertSession()->pageTextNotContains(t('@field field is required', ['@field' => t('Last delimiter type')])); $this->assertSession()->pageTextNotContains(t('@field field is required', ['@field' => t('Machine-readable name')])); $values['id'] = '%&*('; $this->drupalPostForm('admin/config/regional/name/list/add', $values, t('Save list format')); $this->assertText(t('The machine-readable name must contain only lowercase letters, numbers, and underscores.')); $this->drupalGet('admin/config/regional/name/list/add'); $this->submitForm($values, t('Save list format')); $this->assertSession()->pageTextContains(t('The machine-readable name must contain only lowercase letters, numbers, and underscores.')); $values = ['label' => 'default', 'id' => 'default', 'delimiter' => 'a']; $this->drupalPostForm('admin/config/regional/name/list/add', $values, t('Save list format')); $this->assertText(t('The machine-readable name is already in use. It must be unique.')); $this->drupalGet('admin/config/regional/name/list/add'); $this->submitForm($values, t('Save list format')); $this->assertSession()->pageTextContains(t('The machine-readable name is already in use. It must be unique.')); $values = [ 'label' => 'Test label', Loading @@ -274,8 +285,9 @@ class NameAdminTest extends NameTestBase { 'el_al_min' => '3', 'el_al_first' => '1', ]; $this->drupalPostForm('admin/config/regional/name/list/add', $values, t('Save list format')); $this->assertText(t('Name list format Test label added.')); $this->drupalGet('admin/config/regional/name/list/add'); $this->submitForm($values, t('Save list format')); $this->assertSession()->pageTextContains(t('Name list format Test label added.')); $row = [ 'title' => 'Test label', Loading @@ -293,16 +305,16 @@ class NameAdminTest extends NameTestBase { $this->assertRowContains(['settings' => $summary_text], $row_template, 3); $this->drupalGet('admin/config/regional/name/list/manage/60'); $this->assertResponse(404); $this->assertSession()->statusCodeEquals(404); $this->drupalGet('admin/config/regional/name/list/manage/60/delete'); $this->assertResponse(404); $this->assertSession()->statusCodeEquals(404); $this->drupalGet('admin/config/regional/name/list/manage/test/delete'); $this->assertText(t('Are you sure you want to delete the custom list format @title?', ['@title' => $values['label']])); $this->assertSession()->pageTextContains(t('Are you sure you want to delete the custom list format @title?', ['@title' => $values['label']])); $this->drupalPostForm(NULL, [], t('Delete')); $this->assertText(t('The name list format @title has been deleted.', ['@title' => $values['label']])); $this->submitForm([], t('Delete')); $this->assertSession()->pageTextContains(t('The name list format @title has been deleted.', ['@title' => $values['label']])); } /** Loading @@ -326,9 +338,7 @@ class NameAdminTest extends NameTestBase { $results = isset($elements[0]) ? $elements[0]->getHtml() : ''; $message = "Testing {$cell_code} on row {$id} using '{$xpath}' and expecting '" . Html::escape($value) . "', got '" . Html::escape($results) . "'."; if ($results == $value || strpos($results, $value . '?destination=') === 0) { $this->pass($message); } else { } else { $this->fail($message); } } Loading
tests/src/Functional/NameFieldTest.php +35 −26 Changes for tests/src/Functional/NameFieldTest.php: 35 added lines, 26 removed lines. Original line number Diff line number Diff line Loading @@ -17,7 +17,7 @@ class NameFieldTest extends NameTestBase { * * @var array */ public static $modules = [ protected static $modules = [ 'field', 'field_ui', 'node', Loading @@ -28,7 +28,7 @@ class NameFieldTest extends NameTestBase { /** * {@inheritdoc} */ public function setUp() { public function setUp(): void { parent::setUp(); // Create content-type: page. Loading @@ -50,10 +50,12 @@ class NameFieldTest extends NameTestBase { 'field_name' => 'name_test', 'new_storage_type' => 'name', ]; $this->drupalGet('admin/structure/types/manage/page/fields/add-field'); $this->drupalPostForm('admin/structure/types/manage/page/fields/add-field', $new_name_field, t('Save and continue')); $this->submitForm($new_name_field, t('Save and continue')); $storage_settings = []; $this->drupalPostForm('admin/structure/types/manage/page/fields/node.page.field_name_test/storage', $storage_settings, t('Save field settings')); $this->drupalGet('admin/structure/types/manage/page/fields/node.page.field_name_test/storage'); $this->submitForm($storage_settings, t('Save field settings')); $this->resetAll(); // Required test. Loading @@ -64,8 +66,9 @@ class NameFieldTest extends NameTestBase { foreach ($this->nameGetFieldStorageSettingsCheckboxes() as $key => $value) { $field_settings[$key] = FALSE; } $this->drupalGet('admin/structure/types/manage/page/fields/node.page.field_name_test'); $this->drupalPostForm('admin/structure/types/manage/page/fields/node.page.field_name_test', $field_settings, t('Save settings')); $this->submitForm($field_settings, t('Save settings')); $n = _name_translations(); $required_messages = [ Loading @@ -92,7 +95,7 @@ class NameFieldTest extends NameTestBase { ]), ]; foreach ($required_messages as $message) { $this->assertText($message); $this->assertSession()->pageTextContains($message); } $field_settings = [ 'settings[components][title]' => FALSE, Loading Loading @@ -120,7 +123,8 @@ class NameFieldTest extends NameTestBase { 'settings[generational_options]' => "-- --\nJr.\nSr.\nI\nII\nIII\nIV\nV\nVI\nVII\nVIII\nIX\nX\n[vocabulary:123]", ]; $this->resetAll(); $this->drupalPostForm('admin/structure/types/manage/page/fields/node.page.field_name_test', $field_settings, t('Save settings')); $this->drupalGet('admin/structure/types/manage/page/fields/node.page.field_name_test'); $this->submitForm($field_settings, t('Save settings')); $required_messages = [ t('@field must be higher than or equal to 1.', ['@field' => $n['title']]), Loading @@ -141,7 +145,7 @@ class NameFieldTest extends NameTestBase { ]), ]; foreach ($required_messages as $message) { $this->assertText($message); $this->assertSession()->pageTextContains($message); } // Make sure option lengths do not exceed the title lengths. Loading @@ -152,7 +156,8 @@ class NameFieldTest extends NameTestBase { 'settings[generational_options]' => "AAAA\n-- --\nJr.\nSr.\nI\nII\nIII\nIV\nV\nVI\nVII\nVIII\nIX\nX\nBBBB", ]; $this->resetAll(); $this->drupalPostForm('admin/structure/types/manage/page/fields/node.page.field_name_test', $field_settings, t('Save settings')); $this->drupalGet('admin/structure/types/manage/page/fields/node.page.field_name_test'); $this->submitForm($field_settings, t('Save settings')); $required_messages = [ t('The following options exceed the maximum allowed @field length: Aaaaa., Bbbbbbbb, Ccccc.', [ '@field' => t('@title options', ['@title' => $n['title']]), Loading @@ -163,7 +168,7 @@ class NameFieldTest extends NameTestBase { ]; foreach ($required_messages as $message) { $this->assertText($message); $this->assertSession()->pageTextContains($message); } // Make sure option have at least one valid option. Loading @@ -172,13 +177,14 @@ class NameFieldTest extends NameTestBase { 'settings[generational_options]' => " \n-- --\n ", ]; $this->resetAll(); $this->drupalPostForm('admin/structure/types/manage/page/fields/node.page.field_name_test', $field_settings, t('Save settings')); $this->drupalGet('admin/structure/types/manage/page/fields/node.page.field_name_test'); $this->submitForm($field_settings, t('Save settings')); $required_messages = [ t('@field are required.', ['@field' => t('@title options', ['@title' => $n['title']])]), t('@field are required.', ['@field' => t('@generational options', ['@generational' => $n['generational']])]), ]; foreach ($required_messages as $message) { $this->assertText($message); $this->assertSession()->pageTextContains($message); } // Make sure option have at least one valid only have one default value. Loading @@ -187,7 +193,8 @@ class NameFieldTest extends NameTestBase { 'settings[generational_options]' => "-- --\nJr.\nSr.\nI\nII\nIII\nIV\nV\nVI\n--", ]; $this->resetAll(); $this->drupalPostForm('admin/structure/types/manage/page/fields/node.page.field_name_test', $field_settings, t('Save settings')); $this->drupalGet('admin/structure/types/manage/page/fields/node.page.field_name_test'); $this->submitForm($field_settings, t('Save settings')); $required_messages = [ t('@field can only have one blank value assigned to it.', [ '@field' => t('@title options', [ Loading @@ -201,14 +208,15 @@ class NameFieldTest extends NameTestBase { ]), ]; foreach ($required_messages as $message) { $this->assertText($message); $this->assertSession()->pageTextContains($message); } // Save the field again with the default values. $this->resetAll(); $this->drupalPostForm('admin/structure/types/manage/page/fields/node.page.field_name_test', $this->nameGetFieldStorageSettings(), t('Save settings')); $this->drupalGet('admin/structure/types/manage/page/fields/node.page.field_name_test'); $this->submitForm($this->nameGetFieldStorageSettings(), t('Save settings')); $this->assertText(t('Saved Test name configuration.')); $this->assertSession()->pageTextContains(t('Saved Test name configuration.')); // First, check that field validation is working. $field_settings = [ Loading Loading @@ -238,7 +246,8 @@ class NameFieldTest extends NameTestBase { ]; $this->resetAll(); $this->drupalPostForm('admin/structure/types/manage/page/fields/node.page.field_name_test', $field_settings, t('Save settings')); $this->drupalGet('admin/structure/types/manage/page/fields/node.page.field_name_test'); $this->submitForm($field_settings, t('Save settings')); $required_messages = [ t('Maximum length for @field must be higher than or equal to 1.', ['@field' => $n['title']]), Loading @@ -261,7 +270,7 @@ class NameFieldTest extends NameTestBase { ]), ]; foreach ($required_messages as $message) { $this->assertText($message); $this->assertSession()->pageTextContains($message); } $field_settings = [ Loading @@ -285,7 +294,7 @@ class NameFieldTest extends NameTestBase { $this->drupalGet('admin/structure/types/manage/page/fields/node.page.field_name_test'); foreach ($field_settings as $name => $value) { $this->assertFieldByName($name, $value); $this->assertSession()->fieldValueEquals($name, $value); } // Check help text display. Loading @@ -293,32 +302,32 @@ class NameFieldTest extends NameTestBase { $edit = [ 'description' => 'This is a description.', ]; $this->drupalPostForm(NULL, $edit, t('Save settings')); $this->submitForm($edit, t('Save settings')); $this->drupalGet('admin/structure/types/manage/page/fields/node.page.field_name_test/storage'); $edit = [ 'cardinality' => 'number', 'cardinality_number' => 1, ]; $this->drupalPostForm(NULL, $edit, t('Save field settings')); $this->submitForm($edit, t('Save field settings')); $this->drupalGet('node/add/page'); $this->assertUniqueText('This is a description.', 'Field description is shown once when field cardinality is 1.'); $this->assertSession()->pageTextContainsOnce('This is a description.', 'Field description is shown once when field cardinality is 1.'); $this->drupalGet('admin/structure/types/manage/page/fields/node.page.field_name_test/storage'); $edit = [ 'cardinality' => 'number', 'cardinality_number' => 3, ]; $this->drupalPostForm(NULL, $edit, t('Save field settings')); $this->submitForm($edit, t('Save field settings')); $this->drupalGet('node/add/page'); $this->assertUniqueText('This is a description.', 'Field description is shown once when field cardinality is 3.'); $this->assertSession()->pageTextContainsOnce('This is a description.', 'Field description is shown once when field cardinality is 3.'); $this->drupalGet('admin/structure/types/manage/page/fields/node.page.field_name_test/storage'); $edit = [ 'cardinality' => '-1', ]; $this->drupalPostForm(NULL, $edit, t('Save field settings')); $this->submitForm($edit, t('Save field settings')); $this->drupalGet('node/add/page'); $this->assertUniqueText('This is a description.', 'Field description is shown once when field cardinality is unlimited.'); $this->assertSession()->pageTextContainsOnce('This is a description.', 'Field description is shown once when field cardinality is unlimited.'); } /** Loading
tests/src/Functional/NameNodeTokenReplaceTest.php +2 −2 Changes for tests/src/Functional/NameNodeTokenReplaceTest.php: 2 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ class NameNodeTokenReplaceTest extends NameTestBase { * * @var array */ public static $modules = ['node', 'filter', 'token']; protected static $modules = ['node', 'filter', 'token']; /** * The name formatter. Loading @@ -40,7 +40,7 @@ class NameNodeTokenReplaceTest extends NameTestBase { /** * {@inheritdoc} */ public function setUp() { public function setUp(): void { parent::setUp(); $this->interfaceLanguage = \Drupal::languageManager()->getCurrentLanguage(); Loading