Alex Villacís Lasso : richedit: Fix failing EM_GETCHARFORMAT test on all platforms.
Alexandre Julliard
julliard at winehq.org
Thu Jun 26 06:47:58 CDT 2008
Module: wine
Branch: master
Commit: c774d681ce40c560ee781bfcfd90fd284de8ee30
URL: http://source.winehq.org/git/wine.git/?a=commit;h=c774d681ce40c560ee781bfcfd90fd284de8ee30
Author: Alex Villacís Lasso <a_villacis at palosanto.com>
Date: Wed Jun 25 01:22:00 2008 -0500
richedit: Fix failing EM_GETCHARFORMAT test on all platforms.
Default richedit font (System) in Windows causes richedit to report
CFM_BOLD as always set. Switch to Courier New in order to see that
richedit really sets the CFM_BOLD attribute in the correct selection.
---
dlls/riched20/tests/editor.c | 32 ++++++++++++++++++++++++++++++--
1 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/dlls/riched20/tests/editor.c b/dlls/riched20/tests/editor.c
index 8838d05..2de076e 100644
--- a/dlls/riched20/tests/editor.c
+++ b/dlls/riched20/tests/editor.c
@@ -657,6 +657,27 @@ static void test_EM_SETCHARFORMAT(void)
hwndRichEdit = new_richedit(NULL);
SendMessage(hwndRichEdit, WM_SETTEXT, 0, (LPARAM)"wine");
+ /* Need to set a TrueType font to get consistent CFM_BOLD results */
+ memset(&cf2, 0, sizeof(CHARFORMAT2));
+ cf2.cbSize = sizeof(CHARFORMAT2);
+ cf2.dwMask = CFM_FACE|CFM_WEIGHT;
+ cf2.dwEffects = 0;
+ strcpy(cf2.szFaceName, "Courier New");
+ cf2.wWeight = FW_DONTCARE;
+ SendMessage(hwndRichEdit, EM_SETCHARFORMAT, SCF_ALL, (LPARAM) &cf2);
+
+ memset(&cf2, 0, sizeof(CHARFORMAT2));
+ cf2.cbSize = sizeof(CHARFORMAT2);
+ SendMessage(hwndRichEdit, EM_SETSEL, 0, 4);
+ SendMessage(hwndRichEdit, EM_GETCHARFORMAT, SCF_SELECTION, (LPARAM) &cf2);
+ ok ((((tested_effects[i] == CFE_SUBSCRIPT || tested_effects[i] == CFE_SUPERSCRIPT) &&
+ (cf2.dwMask & CFM_SUPERSCRIPT) == CFM_SUPERSCRIPT)
+ ||
+ (cf2.dwMask & tested_effects[i]) == tested_effects[i]),
+ "%d, cf2.dwMask == 0x%08x expected mask 0x%08x\n", i, cf2.dwMask, tested_effects[i]);
+ ok((cf2.dwEffects & tested_effects[i]) == 0,
+ "%d, cf2.dwEffects == 0x%08x expected effect 0x%08x clear\n", i, cf2.dwEffects, tested_effects[i]);
+
memset(&cf2, 0, sizeof(CHARFORMAT2));
cf2.cbSize = sizeof(CHARFORMAT2);
cf2.dwMask = tested_effects[i];
@@ -699,8 +720,6 @@ static void test_EM_SETCHARFORMAT(void)
||
(cf2.dwMask & tested_effects[i]) == 0),
"%d, cf2.dwMask == 0x%08x expected mask 0x%08x clear\n", i, cf2.dwMask, tested_effects[i]);
- ok((cf2.dwEffects & tested_effects[i]) == 0,
- "%d, cf2.dwEffects == 0x%08x expected effect 0x%08x clear\n", i, cf2.dwEffects, tested_effects[i]);
DestroyWindow(hwndRichEdit);
}
@@ -710,6 +729,15 @@ static void test_EM_SETCHARFORMAT(void)
hwndRichEdit = new_richedit(NULL);
SendMessage(hwndRichEdit, WM_SETTEXT, 0, (LPARAM)"wine");
+ /* Need to set a TrueType font to get consistent CFM_BOLD results */
+ memset(&cf2, 0, sizeof(CHARFORMAT2));
+ cf2.cbSize = sizeof(CHARFORMAT2);
+ cf2.dwMask = CFM_FACE|CFM_WEIGHT;
+ cf2.dwEffects = 0;
+ strcpy(cf2.szFaceName, "Courier New");
+ cf2.wWeight = FW_DONTCARE;
+ SendMessage(hwndRichEdit, EM_SETCHARFORMAT, SCF_ALL, (LPARAM) &cf2);
+
memset(&cf2, 0, sizeof(CHARFORMAT2));
cf2.cbSize = sizeof(CHARFORMAT2);
cf2.dwMask = tested_effects[i];
More information about the wine-cvs
mailing list