[2686] in BarnOwl Developers

home help back first fref pref prev next nref lref last post

[PATCH 3/5] Add a unit test for the editwin's automatic wrapping

daemon@ATHENA.MIT.EDU (David Benjamin)
Wed Sep 29 16:08:20 2010

From: David Benjamin <davidben@MIT.EDU>
To: barnowl-dev@mit.edu
Date: Wed, 29 Sep 2010 16:05:58 -0400
In-Reply-To: <1285790760-10916-1-git-send-email-davidben@mit.edu>

Currently fails because the wrapping doesn't happen.
---
 tester.c |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/tester.c b/tester.c
index bab8cf1..e14fe2c 100644
--- a/tester.c
+++ b/tester.c
@@ -372,6 +372,8 @@ int owl_editwin_regtest(void) {
   int numfailed = 0;
   const char *p;
   owl_editwin *oe;
+  const char *autowrap_string = "we feel our owls should live "
+                                "closer to our ponies.";
 
   printf("# BEGIN testing owl_editwin\n");
 
@@ -426,6 +428,27 @@ int owl_editwin_regtest(void) {
 	      owl_editwin_move_to_beginning_of_line(oe) == -2);
   owl_editwin_unref(oe); oe = NULL;
 
+  /* Test automatic line-wrapping. */
+  owl_global_set_edit_maxwrapcols(&g, 10);
+  oe = owl_editwin_new(NULL, 80, 80, OWL_EDITWIN_STYLE_MULTILINE, NULL);
+  for (p = autowrap_string; *p; p++) {
+    owl_input j;
+    j.ch = *p;
+    j.uch = *p; /* Assuming ASCII. */
+    owl_editwin_process_char(oe, j);
+  }
+  p = owl_editwin_get_text(oe);
+  FAIL_UNLESS("text was automatically wrapped",
+	      p && !strcmp(p, "we feel\n"
+			   "our owls\n"
+			   "should\n"
+			   "live\n"
+			   "closer to\n"
+			   "our\n"
+			   "ponies."));
+  owl_editwin_unref(oe); oe = NULL;
+  owl_global_set_edit_maxwrapcols(&g, 70);
+
   printf("# END testing owl_editwin (%d failures)\n", numfailed);
 
   return numfailed;
-- 
1.7.3.1.g716de


home help back first fref pref prev next nref lref last post