Clinton Stimpson : riched20: Add tests for text limit behavior.

Alexandre Julliard julliard at winehq.org
Thu Sep 20 10:30:04 CDT 2007


Module: wine
Branch: master
Commit: b095ade9087fbdfb58506279eee61951c3f0174b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=b095ade9087fbdfb58506279eee61951c3f0174b

Author: Clinton Stimpson <cjstimpson at utwire.net>
Date:   Wed Sep 19 18:34:26 2007 -0600

riched20: Add tests for text limit behavior.

---

 dlls/riched20/tests/editor.c |   55 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 55 insertions(+), 0 deletions(-)

diff --git a/dlls/riched20/tests/editor.c b/dlls/riched20/tests/editor.c
index e67c028..c929077 100644
--- a/dlls/riched20/tests/editor.c
+++ b/dlls/riched20/tests/editor.c
@@ -1108,6 +1108,61 @@ static void test_EM_EXLIMITTEXT(void)
   result = strcmp(buffer, "A");
   ok(0 == result, "got string = \"%s\"\n", buffer);
 
+  /* WM_SETTEXT not limited */
+  textlimit = 10;
+  memset(text, 'W', textlimit);
+  text[textlimit] = 0;
+  SendMessage(hwndRichEdit, EM_EXLIMITTEXT, 0, textlimit-5);
+  SendMessage(hwndRichEdit, WM_SETTEXT, 0, (LPARAM) text);
+  SendMessage(hwndRichEdit, WM_GETTEXT, 1024, (LPARAM) buffer);
+  i = strlen(buffer);
+todo_wine {
+  ok(10 == i, "expected 10 chars\n");
+}
+  i = SendMessage(hwndRichEdit, EM_GETLIMITTEXT, 0, 0);
+todo_wine {
+  ok(10 == i, "EM_EXLIMITTEXT: expected: %d, actual: %d\n", 10, i);
+}
+
+  /* try inserting more text at end */
+  i = SendMessage(hwndRichEdit, WM_CHAR, 'A', 0);
+  ok(0 == i, "WM_CHAR wasn't processed");
+  SendMessage(hwndRichEdit, WM_GETTEXT, 1024, (LPARAM) buffer);
+  i = strlen(buffer);
+todo_wine {
+  ok(10 == i, "expected 10 chars, got %i\n", i);
+}
+  i = SendMessage(hwndRichEdit, EM_GETLIMITTEXT, 0, 0);
+todo_wine {
+  ok(10 == i, "EM_EXLIMITTEXT: expected: %d, actual: %d\n", 10, i);
+}
+
+  /* try inserting text at beginning */
+  SendMessage(hwndRichEdit, EM_SETSEL, 0, 0);
+  i = SendMessage(hwndRichEdit, WM_CHAR, 'A', 0);
+  ok(0 == i, "WM_CHAR wasn't processed");
+  SendMessage(hwndRichEdit, WM_GETTEXT, 1024, (LPARAM) buffer);
+  i = strlen(buffer);
+todo_wine {
+  ok(10 == i, "expected 10 chars, got %i\n", i);
+}
+  i = SendMessage(hwndRichEdit, EM_GETLIMITTEXT, 0, 0);
+todo_wine {
+  ok(10 == i, "EM_EXLIMITTEXT: expected: %d, actual: %d\n", 10, i);
+}
+
+  /* WM_CHAR is limited */
+  textlimit = 1;
+  SendMessage(hwndRichEdit, EM_EXLIMITTEXT, 0, textlimit);
+  SendMessage(hwndRichEdit, EM_SETSEL, 0, -1);  /* select everything */
+  i = SendMessage(hwndRichEdit, WM_CHAR, 'A', 0);
+  ok(0 == i, "WM_CHAR wasn't processed");
+  i = SendMessage(hwndRichEdit, WM_CHAR, 'A', 0);
+  ok(0 == i, "WM_CHAR wasn't processed");
+  SendMessage(hwndRichEdit, WM_GETTEXT, 1024, (LPARAM) buffer);
+  i = strlen(buffer);
+  ok(1 == i, "expected 1 chars, got %i instead\n", i);
+
   DestroyWindow(hwndRichEdit);
 }
 




More information about the wine-cvs mailing list