[PATCH] richedit: fix failing EM_GETCHARFORMAT test on all platforms.
Alex Villacís Lasso
alex at karlalex.palosanto.com
Wed Jun 25 01:22:00 CDT 2008
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 bbdba4d..553db86 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];
--
1.5.4.1
--------------010307010201040305080304--
More information about the wine-devel
mailing list