diff --git a/core/modules/ckeditor/ckeditor.admin.inc b/core/modules/ckeditor/ckeditor.admin.inc index 4ffcbd8eb2d100ff25232c02fd4631a2606d90d6..d27e477e9163b42bf185bd5ce136ef68becd96c8 100644 --- a/core/modules/ckeditor/ckeditor.admin.inc +++ b/core/modules/ckeditor/ckeditor.admin.inc @@ -123,7 +123,7 @@ function template_preprocess_ckeditor_settings_toolbar(&$variables) { 'buttons' => array(), ); $buttons = array_filter($button_row, function ($button) use ($group_name) { - return $button['group'] === $group_name; + return (string) $button['group'] === $group_name; }); foreach ($buttons as $button) { $variables['active_buttons'][$row_number][$group_name]['buttons'][] = $build_button_item($button, $rtl); diff --git a/core/modules/ckeditor/src/Tests/CKEditorAdminTest.php b/core/modules/ckeditor/src/Tests/CKEditorAdminTest.php index 6c5ee13a153ee8583f4712e4e71e93344784b709..da06bd4f2468d72ac6de0fc8259f1759911fd2e2 100644 --- a/core/modules/ckeditor/src/Tests/CKEditorAdminTest.php +++ b/core/modules/ckeditor/src/Tests/CKEditorAdminTest.php @@ -261,6 +261,9 @@ function testNewFormat() { $expected_buttons_value = json_encode($default_settings['toolbar']['rows']); $this->assertFieldByName('editor[settings][toolbar][button_groups]', $expected_buttons_value); + // Regression test for https://www.drupal.org/node/2606460. + $this->assertTrue(strpos($this->drupalSettings['ckeditor']['toolbarAdmin'], '<li data-drupal-ckeditor-button-name="Bold" class="ckeditor-button"><a href="#" class="cke-icon-only cke_ltr" role="button" title="bold" aria-label="bold"><span class="cke_button_icon cke_button__bold_icon">bold</span></a></li>') !== FALSE); + // Ensure the styles textarea exists and is initialized empty. $styles_textarea = $this->xpath('//textarea[@name="editor[settings][plugins][stylescombo][styles]"]'); $this->assertFieldByXPath('//textarea[@name="editor[settings][plugins][stylescombo][styles]"]', '', 'The styles textarea exists and is empty.');