[1/2] richedit: Added test for detecting ascii rtf with unicode codepage.
Dylan Smith
dylan.ah.smith at gmail.com
Fri Jan 16 19:38:17 CST 2009
This is a test case for Bug 6661 where ascii richtext was streamed in
using EM_SETTEXTEX with a codepage of 1200 (unicode). Native richedit
controls seem to check for the ascii characters "{\rtf" at the start of
the string even when using the unicode codepage.
---
dlls/riched20/tests/editor.c | 17 +++++++++++++++++
1 files changed, 17 insertions(+), 0 deletions(-)
-------------- next part --------------
diff --git a/dlls/riched20/tests/editor.c b/dlls/riched20/tests/editor.c
index ff5d598..2cf9a10 100644
--- a/dlls/riched20/tests/editor.c
+++ b/dlls/riched20/tests/editor.c
@@ -3562,6 +3562,23 @@ static void test_EM_SETTEXTEX(void)
ok(lstrcmpW(buf, TestItem1) == 0,
"EM_GETTEXTEX results not what was set by EM_SETTEXTEX\n");
+ /* The following test demonstrates that EM_SETTEXTEX treats text as ASCII if it
+ * starts with ASCII characters "{\rtf" even when the codepage is unicode. */
+ setText.codepage = 1200; /* Lie about code page (actual ASCII) */
+ getText.codepage = CP_ACP;
+ getText.cb = MAX_BUF_LEN;
+ getText.flags = GT_DEFAULT;
+ getText.lpDefaultChar = NULL;
+ getText.lpUsedDefChar = NULL;
+
+ setText.flags = ST_SELECTION;
+ SendMessage(hwndRichEdit, EM_SETSEL, 0, -1);
+ result = SendMessage(hwndRichEdit, EM_SETTEXTEX, (WPARAM)&setText, (LPARAM) "{\\rtf not unicode}");
+ todo_wine ok(result == 11, "EM_SETTEXTEX incorrectly returned %d\n", result);
+ SendMessage(hwndRichEdit, EM_GETTEXTEX, (WPARAM)&getText, (LPARAM) bufACP);
+ todo_wine ok(lstrcmpA(bufACP, "not unicode") == 0,
+ "'%s' != 'not unicode'\n", bufACP);
+
/* The following test demonstrates that EM_SETTEXTEX supports RTF strings with a selection */
SendMessage(hwndRichEdit, WM_SETTEXT, 0, (LPARAM) "TestSomeText"); /* TestItem1 */
p = (char *)buf;
More information about the wine-patches
mailing list