Issue #3136406 by Spokje, codersukanta, IJsbrandy, atul4drupal, MahtabAlam, BalajiDS: Argument 1 passed to Drupal\Core\Form\SubformState::createForSubform() must be of the type array, null given

(cherry picked from commit acb4b8556d)
merge-requests/81/head
Lee Rowlands 2020-11-24 12:01:40 +10:00
parent 0e1bcea320
commit e94c8af358
No known key found for this signature in database
GPG Key ID: 2B829A3DF9204DC4
2 changed files with 20 additions and 1 deletions

View File

@ -247,7 +247,9 @@ function editor_form_filter_admin_format_submit($form, FormStateInterface $form_
$original_editor->delete(); $original_editor->delete();
} }
if ($editor_plugin = $form_state->get('editor_plugin')) { $editor_set = $form_state->getValue(['editor', 'editor']) !== "";
$subform_array_exists = (!empty($form['editor']['settings']['subform']) && is_array($form['editor']['settings']['subform']));
if (($editor_plugin = $form_state->get('editor_plugin')) && $editor_set && $subform_array_exists) {
$subform_state = SubformState::createForSubform($form['editor']['settings']['subform'], $form, $form_state); $subform_state = SubformState::createForSubform($form['editor']['settings']['subform'], $form, $form_state);
$editor_plugin->submitConfigurationForm($form['editor']['settings']['subform'], $subform_state); $editor_plugin->submitConfigurationForm($form['editor']['settings']['subform'], $subform_state);
} }

View File

@ -155,6 +155,23 @@ class EditorAdminTest extends BrowserTestBase {
$this->assertRaw($text); $this->assertRaw($text);
} }
/**
* Tests switching text editor to none does not throw a TypeError.
*/
public function testSwitchEditorToNone() {
$this->enableUnicornEditor();
$this->drupalLogin($this->adminUser);
$this->drupalGet('admin/config/content/formats/manage/filtered_html');
$edit = $this->selectUnicornEditor();
// Switch editor to 'None'.
$edit = [
'editor[editor]' => '',
];
$this->submitForm($edit, 'Configure');
$this->submitForm($edit, 'Save configuration');
}
/** /**
* Adds an editor to a new format using the UI. * Adds an editor to a new format using the UI.
* *