[PATCH] mlang/tests: Some old IE versions truncate one character to short

Detlef Riekenberg wine.dev at web.de
Tue Jun 16 14:29:23 CDT 2009


---
 dlls/mlang/tests/mlang.c |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/dlls/mlang/tests/mlang.c b/dlls/mlang/tests/mlang.c
index 14568df..3cad7ef 100644
--- a/dlls/mlang/tests/mlang.c
+++ b/dlls/mlang/tests/mlang.c
@@ -121,7 +121,7 @@ static const WCHAR de_engb[] = {'E','n','g','l','i','s','c','h',' ',
                                 '(','G','r','o',0xDF,'b','r','i','t','a','n','n','i','e','n',')',0};
 static const WCHAR de_engb2[] ={'E','n','g','l','i','s','c','h',' ',
                                 '(','V','e','r','e','i','n','i','g','t','e','s',' ',
-                                'K',0xF6,'n','i','g','r','e','i',0};
+                                'K',0xF6,'n','i','g','r','e','i','c',0};
 static const WCHAR de_enus[] = {'E','n','g','l','i','s','c','h',' ',
                                 '(','U','S','A',')',0};
 static const WCHAR de_de[] =   {'D','e','u','t','s','c','h',' ',
@@ -1238,6 +1238,7 @@ static void test_LcidToRfc1766(void)
 
 static void test_GetRfc1766Info(IMultiLanguage2 *iML2)
 {
+    WCHAR truncated_broken_name[MAX_LOCALE_NAME];
     CHAR rfc1766A[MAX_RFC1766_NAME + 1];
     BYTE buffer[sizeof(RFC1766INFO) + 4];
     PRFC1766INFO prfc = (RFC1766INFO *) buffer;
@@ -1258,16 +1259,22 @@ static void test_GetRfc1766Info(IMultiLanguage2 *iML2)
         ok(!lstrcmpA(rfc1766A, info_table[i].rfc1766),
             "#%02d: got '%s' (expected '%s')\n", i, rfc1766A, info_table[i].rfc1766);
 
+        /* Some old IE versions truncate an oversized name one character to short */
+        lstrcpyW(truncated_broken_name, info_table[i].broken_name);
+        truncated_broken_name[MAX_LOCALE_NAME - 2] = '\0';
+
         if (info_table[i].todo & TODO_NAME) {
             todo_wine
             ok( (!mylstrcmpW(prfc->wszLocaleName, info_table[i].localename)) ||
-                broken(!mylstrcmpW(prfc->wszLocaleName, info_table[i].broken_name)), /* IE < 6.0 */
+                broken(!mylstrcmpW(prfc->wszLocaleName, info_table[i].broken_name)) || /* IE < 6.0 */
+                broken(!mylstrcmpW(prfc->wszLocaleName, truncated_broken_name)),
                 "#%02d: got %s (expected %s)\n", i,
                 debugstr_w(prfc->wszLocaleName), debugstr_w(info_table[i].localename));
         }
         else
             ok( (!mylstrcmpW(prfc->wszLocaleName, info_table[i].localename)) ||
-                broken(!mylstrcmpW(prfc->wszLocaleName, info_table[i].broken_name)),   /* IE < 6.0 */
+                broken(!mylstrcmpW(prfc->wszLocaleName, info_table[i].broken_name)) || /* IE < 6.0 */
+                broken(!mylstrcmpW(prfc->wszLocaleName, truncated_broken_name)),
                 "#%02d: got %s (expected %s)\n", i,
                 debugstr_w(prfc->wszLocaleName), debugstr_w(info_table[i].localename));
 
-- 
1.5.4.3


--=-Dupz7h/UukLlowcE0aMU--




More information about the wine-patches mailing list