From 2c4ace9da28079065f42709c9047950c2edce41f Mon Sep 17 00:00:00 2001 From: Lauri Eskola <lauri.eskola@acquia.com> Date: Thu, 19 Dec 2019 17:43:57 +0200 Subject: [PATCH] Issue #3100066 by oknate, Wim Leers, alisonjo315: "Convert line breaks into HTML" filter should exclude <drupal-media> tag --- core/modules/filter/filter.module | 2 +- core/modules/filter/tests/src/Kernel/FilterKernelTest.php | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/core/modules/filter/filter.module b/core/modules/filter/filter.module index c781f8a200a7..fe5615f22a2d 100644 --- a/core/modules/filter/filter.module +++ b/core/modules/filter/filter.module @@ -701,7 +701,7 @@ function _filter_autop($text) { // to avoid messing up code. We look for matched pairs and allow basic // nesting. For example: // "processed <pre> ignored <script> ignored </script> ignored </pre> processed" - $chunks = preg_split('@(<!--.*?-->|</?(?:pre|script|style|object|iframe|!--)[^>]*>)@i', $text, -1, PREG_SPLIT_DELIM_CAPTURE); + $chunks = preg_split('@(<!--.*?-->|</?(?:pre|script|style|object|iframe|drupal-media|!--)[^>]*>)@i', $text, -1, PREG_SPLIT_DELIM_CAPTURE); // Note: PHP ensures the array consists of alternating delimiters and literals // and begins and ends with a literal (inserting NULL as required). $ignore = FALSE; diff --git a/core/modules/filter/tests/src/Kernel/FilterKernelTest.php b/core/modules/filter/tests/src/Kernel/FilterKernelTest.php index f9aeeb9523fb..735521caeb8b 100644 --- a/core/modules/filter/tests/src/Kernel/FilterKernelTest.php +++ b/core/modules/filter/tests/src/Kernel/FilterKernelTest.php @@ -376,6 +376,10 @@ public function testLineBreakFilter() { "<iframe>aaa</iframe>\n\n" => [ "<p><iframe>aaa</iframe></p>" => FALSE, ], + // Bug 3097338, paragraphs were appearing around drupalmedia tags. + '<drupal-media data-caption=" " data-entity-type="media" data-entity-uuid="dbb16f97-cd11-4357-acde-cd09e19e312b"></drupal-media>' => [ + '<p><drupal-media data-caption=" " data-entity-type="media" data-entity-uuid="dbb16f97-cd11-4357-acde-cd09e19e312b"></drupal-media></p>' => FALSE, + ], ]; $this->assertFilteredString($filter, $tests); -- GitLab