msvcrt/tests: Rewrite test_mbcjisjms to test in various codepages.

This commit is contained in:
Akihiro Sagawa 2012-03-21 23:02:12 +09:00 committed by Alexandre Julliard
parent 578d85f320
commit 9085a2e54c
1 changed files with 15 additions and 12 deletions

View File

@ -864,20 +864,23 @@ static void test_mbcjisjms(void)
unsigned int jisjms[][2] = { {0x2020, 0}, {0x2021, 0}, {0x2120, 0}, {0x2121, 0x8140}, unsigned int jisjms[][2] = { {0x2020, 0}, {0x2021, 0}, {0x2120, 0}, {0x2121, 0x8140},
{0x7f7f, 0}, {0x7f7e, 0}, {0x7e7f, 0}, {0x7e7e, 0xeffc}, {0x7f7f, 0}, {0x7f7e, 0}, {0x7e7f, 0}, {0x7e7e, 0xeffc},
{0x2121FFFF, 0}, {0x2223, 0x81a1}, {0x237e, 0x829e}, {0, 0}}; {0x2121FFFF, 0}, {0x2223, 0x81a1}, {0x237e, 0x829e}, {0, 0}};
unsigned int ret, exp, i; int cp[] = { 932, 936, 939, 950, 1361, _MB_CP_SBCS };
unsigned int i, j;
int prev_cp = _getmbcp();
i = 0; for (i = 0; i < sizeof(cp)/sizeof(cp[0]); i++)
do
{ {
ret = _mbcjistojms(jisjms[i][0]); _setmbcp(cp[i]);
for (j = 0; jisjms[j][0] != 0; j++)
if(_getmbcp() == 932) /* Japanese codepage? */ {
exp = jisjms[i][1]; unsigned int ret, exp;
else ret = _mbcjistojms(jisjms[j][0]);
exp = jisjms[i][0]; /* If not, no conversion */ exp = (cp[i] == 932) ? jisjms[j][1] : jisjms[j][0];
ok(ret == exp, "Expected 0x%x, got 0x%x (0x%x, codepage=%d)\n",
ok(ret == exp, "Expected 0x%x, got 0x%x\n", exp, ret); exp, ret, jisjms[j][0], cp[i]);
} while(jisjms[i++][0] != 0); }
}
_setmbcp(prev_cp);
} }
static void test_mbcjmsjis(void) static void test_mbcjmsjis(void)