Rémi Bernon : gdi32/tests: Add locale-dependent face matching test.

Alexandre Julliard julliard at winehq.org
Thu Nov 26 16:30:59 CST 2020


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

Author: Rémi Bernon <rbernon at codeweavers.com>
Date:   Mon Nov 23 13:20:49 2020 +0100

gdi32/tests: Add locale-dependent face matching test.

Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
Signed-off-by: Huw Davies <huw at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/gdi32/tests/font.c              |  19 ++++++++++++++-----
 dlls/gdi32/tests/wine_langnames3.sfd |   4 ++--
 dlls/gdi32/tests/wine_langnames3.ttf | Bin 2048 -> 2076 bytes
 3 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/dlls/gdi32/tests/font.c b/dlls/gdi32/tests/font.c
index 94910ff60fc..2988ab45ea7 100644
--- a/dlls/gdi32/tests/font.c
+++ b/dlls/gdi32/tests/font.c
@@ -7269,12 +7269,21 @@ static void test_lang_names(void)
         /* either because it's the primary language, or because it's a secondary */
         ok( efnd.total == min( 2, i + 1 ), "%d: EnumFontFamiliesExA unexpected count %u.\n", i, efnd.total );
 
-        strcpy( font.lfFaceName, "Wine Lang Cond (fr)" );
-        memset( &efnd, 0, sizeof(efnd) );
-        EnumFontFamiliesExA( dc, &font, enum_fullname_data_proc, (LPARAM)&efnd, 0 );
+        wcscpy( font_w.lfFaceName, L"Wine Police d'\xe9" "criture (fr)" );
+        memset( &efnd_w, 0, sizeof(efnd_w) );
+        EnumFontFamiliesExW( dc, &font_w, enum_fullname_data_proc_w, (LPARAM)&efnd_w, 0 );
         /* as wine_langnames3.sfd does not specify (en) name, (fr) is preferred */
-        if (i == 2) ok( efnd.total == 1, "%d: EnumFontFamiliesExA unexpected count %u.\n", i, efnd.total );
-        else ok( efnd.total == 0, "%d: EnumFontFamiliesExA unexpected count %u.\n", i, efnd.total );
+        if (i == 2) ok( efnd_w.total == 1, "%d: EnumFontFamiliesExW unexpected count %u.\n", i, efnd_w.total );
+        else ok( efnd_w.total == 0, "%d: EnumFontFamiliesExW unexpected count %u.\n", i, efnd_w.total );
+
+        /* case matching should not depend on the current locale */
+        if (i == 2)
+        {
+            wcscpy( font_w.lfFaceName, L"Wine POLICE D'\xc9" "CRITURE (fr)" );
+            memset( &efnd_w, 0, sizeof(efnd_w) );
+            EnumFontFamiliesExW( dc, &font_w, enum_fullname_data_proc_w, (LPARAM)&efnd_w, 0 );
+            todo_wine ok( efnd_w.total == 1, "%d: EnumFontFamiliesExW unexpected count %u.\n", i, efnd_w.total );
+        }
 
         strcpy( font.lfFaceName, "Wine Lang Cond (ko)" );
         memset( &efnd, 0, sizeof(efnd) );
diff --git a/dlls/gdi32/tests/wine_langnames3.sfd b/dlls/gdi32/tests/wine_langnames3.sfd
index ea0dbff57d9..55536fa58c1 100644
--- a/dlls/gdi32/tests/wine_langnames3.sfd
+++ b/dlls/gdi32/tests/wine_langnames3.sfd
@@ -39,8 +39,8 @@ MarkAttachClasses: 1
 DEI: 91125
 LangName: 1036 \
     "" \
-    "Wine Lang Cond (fr)" \
-    "Reg (fr)" \
+    "Wine Police d'+AOkA-criture (fr)" \
+    "R+AOkA-guli+AOgA-re (fr)" \
     "" \
     "Wine Lang Cond Reg (fr)"
 LangName: 1042 \
diff --git a/dlls/gdi32/tests/wine_langnames3.ttf b/dlls/gdi32/tests/wine_langnames3.ttf
index dd76bd478bb..408d127fb1e 100644
Binary files a/dlls/gdi32/tests/wine_langnames3.ttf and b/dlls/gdi32/tests/wine_langnames3.ttf differ




More information about the wine-cvs mailing list