msvcrt/tests: Rewrite test_mbcjisjms to test in various codepages.
This commit is contained in:
parent
578d85f320
commit
9085a2e54c
|
@ -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)
|
||||||
|
|
Loading…
Reference in New Issue