[2/2] mlang: Add a test for IMultiLanguage2_IsCodePageInstallable.
Hans Leidekker
hans at meelstraat.net
Wed Jul 1 04:36:34 CDT 2009
Passes on win2k3, vista and the win7 release candidate.
-Hans
diff --git a/dlls/mlang/tests/mlang.c b/dlls/mlang/tests/mlang.c
index bd4fd6c..17cc38d 100644
--- a/dlls/mlang/tests/mlang.c
+++ b/dlls/mlang/tests/mlang.c
@@ -1957,6 +1957,56 @@ static void test_GetFontUnicodeRanges(IMLangFontLink2 *font_link)
DeleteDC(hdc);
}
+static void test_IsCodePageInstallable(IMultiLanguage2 *ml2)
+{
+ HRESULT hr;
+ UINT i, j;
+ static const UINT cp[] =
+ {
+ 37, 437, 500, 708, 720, 737, 775, 850, 852,
+ 855, 857, 858, 860, 861, 862, 863, 864, 865,
+ 866, 869, 870, 874, 875, 932, 936, 949, 950,
+ 1026, 1047, 1140, 1141, 1142, 1143, 1144, 1145,
+ 1146, 1147, 1148, 1149, 1200, 1201, 1250, 1251,
+ 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1361,
+ 10000, 10001, 10002, 10003, 10004, 10005, 10006,
+ 10007, 10008, 10010, 10017, 10021, 10029, 10079,
+ 10081, 10082, 20000, 20001, 20002, 20003, 20004,
+ 20005, 20105, 20106, 20107, 20108, 20127, 20261,
+ 20269, 20273, 20277, 20278, 20280, 20284, 20285,
+ 20290, 20297, 20420, 20423, 20424, 20833, 20838,
+ 20866, 20871, 20880, 20905, 20924, 20932, 20936,
+ 20949, 21025, 21027, 21866, 28591, 28592, 28593,
+ 28594, 28595, 28596, 28597, 28598, 28599, 28603,
+ 28605, 29001, 38598, 50000, 50001, 50220, 50221,
+ 50222, 50225, 50227, 50229, 50930, 50931, 50932,
+ 50933, 50935, 50936, 50937, 50939, 50949, 50950,
+ 51251, 51253, 51256, 51932, 51936, 51949, 52936,
+ 54936, 57002, 57003, 57004, 57005, 57006, 57007,
+ 57008, 57009, 57010, 57011, 65000, 65001
+ };
+
+ for (i = j = 0; i < 0xffff; i++)
+ {
+ if (j >= sizeof(cp)/sizeof(cp[0])) break;
+
+ hr = IMultiLanguage2_IsCodePageInstallable(ml2, i);
+ if (i == 29001 || /* win2k3 */
+ i == 50930 || i == 50931 || i == 50933 || i == 50935 || i == 50937 || i == 50939 /* vista */)
+ {
+ ok(hr == S_FALSE || hr == S_OK, "%u: expected S_FALSE or S_OK, got 0x%08x\n", i, hr);
+ j++;
+ }
+ else if (i == cp[j])
+ {
+ ok(hr == S_OK, "%u: expected S_OK, got 0x%08x\n", i, hr);
+ j++;
+ }
+ else
+ ok(hr == E_INVALIDARG, "%u: expected E_INVALIDARG, got 0x%08x\n", i, hr);
+ }
+}
+
START_TEST(mlang)
{
IMultiLanguage *iML = NULL;
@@ -2016,6 +2066,7 @@ START_TEST(mlang)
test_multibyte_to_unicode_translations(iML2);
test_IMultiLanguage2_ConvertStringFromUnicode(iML2);
+ test_IsCodePageInstallable(iML2);
IMultiLanguage2_Release(iML2);
More information about the wine-patches
mailing list