From 961083fc02204c48e7568d122736926f44ea7778 Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst Date: Wed, 7 May 2008 21:08:45 -0700 Subject: [PATCH] mlang: Fix some tests to pass under windows --- dlls/mlang/tests/mlang.c | 20 ++++++++++++++++++-- 1 files changed, 18 insertions(+), 2 deletions(-) diff --git a/dlls/mlang/tests/mlang.c b/dlls/mlang/tests/mlang.c index c036f7a..1329081 100644 --- a/dlls/mlang/tests/mlang.c +++ b/dlls/mlang/tests/mlang.c @@ -666,6 +666,11 @@ static void test_rfc1766(IMultiLanguage2 *iML2) while (1) { + RFC1766INFO ret_info; + + memset(&info, 0, sizeof(info)); + memset(&ret_info, 0, sizeof(ret_info)); + ret = IEnumRfc1766_Next(pEnumRfc1766, 1, &info, &n); if (ret != S_OK) break; @@ -673,10 +678,21 @@ static void test_rfc1766(IMultiLanguage2 *iML2) trace("lcid %04x rfc_name %s locale_name %s\n", info.lcid, wine_dbgstr_w(info.wszRfc1766), wine_dbgstr_w(info.wszLocaleName)); #endif - ok(n == 1, "couldn't fetch 1 RFC1766INFO structure\n"); - ok(IsValidLocale(info.lcid, LCID_SUPPORTED), "invalid lcid %04x\n", info.lcid); + if (n != 1) continue; + ret = IMultiLanguage2_GetRfc1766Info(iML2, info.lcid, LANG_NEUTRAL, &ret_info); + todo_wine ok(ret == S_OK, "IMultiLanguage2_GetRfc1766Info returned %08x\n", ret); + + /* Fails on lcid = 0x0414 (norwegian), because there are 2 norwegian languages + * But since this an exception, just let it be + */ + if (ret == S_OK && info.lcid != 0x414) + ok(!memcmp(&info, &ret_info, sizeof(ret_info)), + "Structures don't match for lcid %04x\n", info.lcid); + else + trace("Skipped for lcid %04x\n", info.lcid); } + IEnumRfc1766_Release(pEnumRfc1766); } -- 1.5.4.1