[geary] Don't insert multiple blank lines in the composer. Bug 778125.



commit b526b4c3eb353214a30426d11c216fae91f3a398
Author: Michael James Gratton <mike vee net>
Date:   Tue Feb 7 12:09:29 2017 +1100

    Don't insert multiple blank lines in the composer. Bug 778125.
    
    * src/client/composer/composer-web-view.vala
      (ComposerWebView::load_html): Remove spacers around cursor, just add
      them after body and inline quote if present. Update unit tests.

 src/client/composer/composer-web-view.vala       |    7 ++-----
 test/client/composer/composer-web-view-test.vala |   11 ++++-------
 test/js/composer-page-state-test.vala            |   10 +++++-----
 3 files changed, 11 insertions(+), 17 deletions(-)
---
diff --git a/src/client/composer/composer-web-view.vala b/src/client/composer/composer-web-view.vala
index 67bdf64..08972b2 100644
--- a/src/client/composer/composer-web-view.vala
+++ b/src/client/composer/composer-web-view.vala
@@ -166,18 +166,15 @@ public class ComposerWebView : ClientWebView {
             bool have_body = !Geary.String.is_empty(body);
             if (have_body) {
                 html.append(body);
+                html.append(SPACER);
             }
 
             if (!top_posting && !Geary.String.is_empty(quote)) {
-                if (have_body) {
-                    html.append(SPACER);
-                }
                 html.append(quote);
+                html.append(SPACER);
             }
 
-            html.append(SPACER);
             html.append(CURSOR);
-            html.append(SPACER);
             html.append(BODY_POST);
 
             if (!Geary.String.is_empty(signature)) {
diff --git a/test/client/composer/composer-web-view-test.vala 
b/test/client/composer/composer-web-view-test.vala
index f72a844..e145870 100644
--- a/test/client/composer/composer-web-view-test.vala
+++ b/test/client/composer/composer-web-view-test.vala
@@ -7,7 +7,7 @@
 
 public class ComposerWebViewTest : ClientWebViewTestCase<ComposerWebView> {
 
-    private const string BODY_TEMPLATE = """<div 
id="geary-body">%s<div><br></div><div><br></div><div><br></div></div>""";
+    private const string BODY_TEMPLATE = """<div id="geary-body">%s<div><br></div><div><br></div></div>""";
 
     public ComposerWebViewTest() {
         base("ComposerWebViewTest");
@@ -59,7 +59,7 @@ public class ComposerWebViewTest : ClientWebViewTestCase<ComposerWebView> {
         load_body_fixture("<p>para</p>");
         this.test_view.get_text.begin((obj, ret) => { async_complete(ret); });
         try {
-            assert(this.test_view.get_text.end(async_result()) == "para\n\n\n\n\n\n");
+            assert(this.test_view.get_text.end(async_result()) == "para\n\n\n\n\n");
         } catch (Error err) {
             print("Error: %s\n", err.message);
             assert_not_reached();
@@ -71,7 +71,7 @@ public class ComposerWebViewTest : ClientWebViewTestCase<ComposerWebView> {
         this.test_view.get_text.begin((obj, ret) => { async_complete(ret); });
         try {
             assert(this.test_view.get_text.end(async_result()) ==
-                   "pre\n\n> quote\n> \npost\n\n\n\n\n\n");
+                   "pre\n\n> quote\n> \npost\n\n\n\n\n");
         } catch (Error err) {
             print("Error: %s\n", err.message);
             assert_not_reached();
@@ -83,7 +83,7 @@ public class ComposerWebViewTest : ClientWebViewTestCase<ComposerWebView> {
         this.test_view.get_text.begin((obj, ret) => { async_complete(ret); });
         try {
             assert(this.test_view.get_text.end(async_result()) ==
-                   "pre\n\n> quote1\n> \n>> quote2\n>> \npost\n\n\n\n\n\n");
+                   "pre\n\n> quote1\n> \n>> quote2\n>> \npost\n\n\n\n\n");
         } catch (Error err) {
             print("Error: %s\n", err.message);
             assert_not_reached();
@@ -105,7 +105,6 @@ long long, long long, long.
 
 
 
-
 """);
         } catch (Error err) {
             print("Error: %s\n", err.message);
@@ -132,7 +131,6 @@ long long, long long, long.
 
 
 
-
 """);
         } catch (Error err) {
             print("Error: %s\n", err.message);
@@ -166,7 +164,6 @@ long, long, long, long, long, long, long, long, long, long,
 
 
 
-
 """);
         } catch (Error err) {
             print("Error: %s\n", err.message);
diff --git a/test/js/composer-page-state-test.vala b/test/js/composer-page-state-test.vala
index f931b6c..0aeaa2b 100644
--- a/test/js/composer-page-state-test.vala
+++ b/test/js/composer-page-state-test.vala
@@ -7,8 +7,8 @@
 
 class ComposerPageStateTest : ClientWebViewTestCase<ComposerWebView> {
 
-    private const string COMPLETE_BODY_TEMPLATE = """<div 
id="geary-body">%s<div><br></div><div><br></div><div><br></div></div>""";
-    private const string CLEAN_BODY_TEMPLATE = "%s<div><br></div><div><br></div><div><br></div>";
+    private const string COMPLETE_BODY_TEMPLATE = """<div 
id="geary-body">%s<div><br></div><div><br></div></div>""";
+    private const string CLEAN_BODY_TEMPLATE = "%s<div><br></div><div><br></div>";
 
     public ComposerPageStateTest() {
         base("ComposerPageStateTest");
@@ -178,7 +178,7 @@ unknown://example6.com
         load_body_fixture("<p>para</p>");
         try {
             assert(WebKitUtil.to_string(run_javascript(@"window.geary.getText();")) ==
-                   "para\n\n\n\n\n");
+                   "para\n\n\n\n");
         } catch (Geary.JS.Error err) {
             print("Geary.JS.Error: %s\n", err.message);
             assert_not_reached();
@@ -193,7 +193,7 @@ unknown://example6.com
         load_body_fixture("<p>pre</p> <blockquote><p>quote</p></blockquote> <p>post</p>");
         try {
             assert(WebKitUtil.to_string(run_javascript(@"window.geary.getText();")) ==
-                   @"pre\n\n$(q_marker)quote\n$(q_marker)\npost\n\n\n\n\n");
+                   @"pre\n\n$(q_marker)quote\n$(q_marker)\npost\n\n\n\n");
         } catch (Geary.JS.Error err) {
             print("Geary.JS.Error: %s", err.message);
             assert_not_reached();
@@ -208,7 +208,7 @@ unknown://example6.com
         load_body_fixture("<p>pre</p> <blockquote><p>quote1</p> 
<blockquote><p>quote2</p></blockquote></blockquote> <p>post</p>");
         try {
             assert(WebKitUtil.to_string(run_javascript(@"window.geary.getText();")) ==
-                   
@"pre\n\n$(q_marker)quote1\n$(q_marker)\n$(q_marker)$(q_marker)quote2\n$(q_marker)$(q_marker)\npost\n\n\n\n\n");
+                   
@"pre\n\n$(q_marker)quote1\n$(q_marker)\n$(q_marker)$(q_marker)quote2\n$(q_marker)$(q_marker)\npost\n\n\n\n");
         } catch (Geary.JS.Error err) {
             print("Geary.JS.Error: %s\n", err.message);
             assert_not_reached();


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