Reactos
1/*
2 * PROJECT: ReactOS api tests
3 * LICENSE: GPLv2+ - See COPYING in the top level directory
4 * PURPOSE: Test for GetCPInfo
5 * PROGRAMMER: Timo Kreuzer <timo.kreuzer@reactos.org>
6 */
7
8#include "precomp.h"
9
10START_TEST(GetCPInfo)
11{
12 CPINFO CpInfo;
13 BOOL Ret;
14
15 Ret = GetCPInfo(CP_ACP, &CpInfo);
16 ok_int(Ret, TRUE);
17
18 memset(&CpInfo, 0xAA, sizeof(CpInfo));
19 Ret = GetCPInfo(-1, &CpInfo);
20 ok_int(Ret, FALSE);
21 ok_err(ERROR_INVALID_PARAMETER);
22 ok_int(CpInfo.MaxCharSize, 0xAAAAAAAA);
23
24 memset(&CpInfo, 0xAA, sizeof(CpInfo));
25 Ret = GetCPInfo(CP_ACP, NULL);
26 ok_int(Ret, FALSE);
27 ok_err(ERROR_INVALID_PARAMETER);
28 ok_int(CpInfo.MaxCharSize, 0xAAAAAAAA);
29
30 memset(&CpInfo, 0xAA, sizeof(CpInfo));
31 Ret = GetCPInfo(1361, &CpInfo);
32 ok_int(Ret, TRUE);
33 ok_int(CpInfo.MaxCharSize, 2);
34 ok_char(CpInfo.DefaultChar[0], 0x3F);
35 ok_char(CpInfo.DefaultChar[1], 0x00);
36 ok_char(CpInfo.LeadByte[0], 0x84);
37 ok_char(CpInfo.LeadByte[1], 0xD3);
38 ok_char(CpInfo.LeadByte[2], 0xD8);
39 ok_char(CpInfo.LeadByte[3], 0xDE);
40 ok_char(CpInfo.LeadByte[4], 0xE0);
41 ok_char(CpInfo.LeadByte[5], 0xF9);
42 ok_char(CpInfo.LeadByte[6], 0);
43 ok_char(CpInfo.LeadByte[7], 0);
44 ok_char(CpInfo.LeadByte[8], 0);
45 ok_char(CpInfo.LeadByte[9], 0);
46 ok_char(CpInfo.LeadByte[10], 0);
47 ok_char(CpInfo.LeadByte[11], 0);
48
49}