[evolution/wip/mcrha/webkit-jsc-api] e-convert.js: Skip also trailing insignificant new lines, not only leading



commit 564b3ad70af2e4b0b74cf993772a4f5583df8b7a
Author: Milan Crha <mcrha redhat com>
Date:   Fri Apr 17 12:49:38 2020 +0200

    e-convert.js: Skip also trailing insignificant new lines, not only leading

 data/webkit/e-convert.js       | 10 ++++++++++
 src/e-util/test-web-view-jsc.c | 24 +++++++++++++++++++++++-
 2 files changed, 33 insertions(+), 1 deletion(-)
---
diff --git a/data/webkit/e-convert.js b/data/webkit/e-convert.js
index ca871170c0..5d3e4bb0d1 100644
--- a/data/webkit/e-convert.js
+++ b/data/webkit/e-convert.js
@@ -757,6 +757,16 @@ EvoConvert.processNode = function(node, normalDivWidth, quoteLevel)
                                                str = str.substr(ii);
                                        }
 
+                                       if (str.length > 0 && (!node.nextSibling || node.nextSibling.tagName) 
&& (str[str.length - 1] == '\r' || str[str.length - 1] == '\n')) {
+                                               var ii;
+
+                                               for (ii = str.length - 1; ii >= 0 && (str[ii] == '\n' || 
str[ii] == '\r'); ii--) {
+                                                       // do nothing, just skip all trailing insignificant 
new lines
+                                               }
+
+                                               str = str.substr(0, ii + 1);
+                                       }
+
                                        str = EvoConvert.mergeConsecutiveSpaces(str.replace(/\t/g, " 
").replace(/\r/g, " ").replace(/\n/g, " "));
                                }
                        }
diff --git a/src/e-util/test-web-view-jsc.c b/src/e-util/test-web-view-jsc.c
index 3683716ecb..dab6108109 100644
--- a/src/e-util/test-web-view-jsc.c
+++ b/src/e-util/test-web-view-jsc.c
@@ -2888,7 +2888,29 @@ test_convert_to_plain_quoted (TestFixture *fixture)
                "> text before\n"
                "> https://no.where/1234567890/123457890/1234567890\n";
                "> text after\n",
-               14 }
+               14 },
+       /* 21 */{ HTML ("<blockquote type='cite'>"
+                       "<div>" QUOTE_SPAN (QUOTE_CHR) "line1<br>\n"
+                       QUOTE_SPAN (QUOTE_CHR) "line2<br>\n"
+                       QUOTE_SPAN (QUOTE_CHR) "line3<br>\n"
+                       QUOTE_SPAN (QUOTE_CHR) "<br>\n"
+                       QUOTE_SPAN (QUOTE_CHR) "<br>\n"
+                       QUOTE_SPAN (QUOTE_CHR) "line6<br>\n"
+                       "</div>"
+                       "<div>" QUOTE_SPAN (QUOTE_CHR) "paragraph 2<br>\n</div>"
+                       "<div>" QUOTE_SPAN (QUOTE_CHR) "paragraph 3\n</div>"
+                       "<div>" QUOTE_SPAN (QUOTE_CHR) "paragraph 4</div>"
+               "</blockquote>"),
+               "> line1\n"
+               "> line2\n"
+               "> line3\n"
+               "> \n"
+               "> \n"
+               "> line6\n"
+               "> paragraph 2\n"
+               "> paragraph 3\n"
+               "> paragraph 4\n",
+               71 }
        };
 
        #undef QUOTE_SPAN


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]