summaryrefslogtreecommitdiff
path: root/test/src/test/win1252enc.i
blob: 2bfa211102b209929cf3931aa98fe8b7feb88e1a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include <stdbool.h>

static bool zaptest_test_win1252enc(void) {
	zap_chr20 const utf20[] = {
		0x26u,
		0xF0u,
		0x20ACu,
		0x201Au,
		0x192u,
		0x201Eu,
		0x2026u,
		0x2020u,
		0x2021u,
		0x2C6u,
		0x2030u,
		0x160u,
		0x2039u,
		0x152u,
		0x17Du,
		0x2018u,
		0x2019u,
		0x201Cu,
		0x201Du,
		0x2022u,
		0x2013u,
		0x2014u,
		0x2DCu,
		0x2122u,
		0x161u,
		0x203Au,
		0x153u,
		0x17Eu,
		0x178u,
		0x0u,
	};
	zap_sz const enclen = sizeof (utf20) / sizeof (utf20[0x0u]) - 0x1u;
	zaptest_chk(enclen,0x1Du,zap_sz,"%zX")
	zap_chr8 * const win1252 = malloc(enclen + 0x1u);
	if (win1252 == NULL) {
		fputs("test.win1252enc: Memory allocation failed!\n\n",stderr);
		return true;
	}
	zap_win1252enc(utf20,win1252);
	zaptest_log(win1252,char const *,"%s"); /* UB? */
	zaptest_chk(win1252[0x0u], 0x26u,unsigned char,"%hhX");
	zaptest_chk(win1252[0x1u], 0xF0u,unsigned char,"%hhX");
	zaptest_chk(win1252[0x2u], 0x80u,unsigned char,"%hhX");
	zaptest_chk(win1252[0x3u], 0x82u,unsigned char,"%hhX");
	zaptest_chk(win1252[0x4u], 0x83u,unsigned char,"%hhX");
	zaptest_chk(win1252[0x5u], 0x84u,unsigned char,"%hhX");
	zaptest_chk(win1252[0x6u], 0x85u,unsigned char,"%hhX");
	zaptest_chk(win1252[0x7u], 0x86u,unsigned char,"%hhX");
	zaptest_chk(win1252[0x8u], 0x87u,unsigned char,"%hhX");
	zaptest_chk(win1252[0x9u], 0x88u,unsigned char,"%hhX");
	zaptest_chk(win1252[0xAu], 0x89u,unsigned char,"%hhX");
	zaptest_chk(win1252[0xBu], 0x8Au,unsigned char,"%hhX");
	zaptest_chk(win1252[0xCu], 0x8Bu,unsigned char,"%hhX");
	zaptest_chk(win1252[0xDu], 0x8Cu,unsigned char,"%hhX");
	zaptest_chk(win1252[0xEu], 0x8Eu,unsigned char,"%hhX");
	zaptest_chk(win1252[0xFu], 0x91u,unsigned char,"%hhX");
	zaptest_chk(win1252[0x10u],0x92u,unsigned char,"%hhX");
	zaptest_chk(win1252[0x11u],0x93u,unsigned char,"%hhX");
	zaptest_chk(win1252[0x12u],0x94u,unsigned char,"%hhX");
	zaptest_chk(win1252[0x13u],0x95u,unsigned char,"%hhX");
	zaptest_chk(win1252[0x14u],0x96u,unsigned char,"%hhX");
	zaptest_chk(win1252[0x15u],0x97u,unsigned char,"%hhX");
	zaptest_chk(win1252[0x16u],0x98u,unsigned char,"%hhX");
	zaptest_chk(win1252[0x17u],0x99u,unsigned char,"%hhX");
	zaptest_chk(win1252[0x18u],0x9Au,unsigned char,"%hhX");
	zaptest_chk(win1252[0x19u],0x9Bu,unsigned char,"%hhX");
	zaptest_chk(win1252[0x1Au],0x9Cu,unsigned char,"%hhX");
	zaptest_chk(win1252[0x1Bu],0x9Eu,unsigned char,"%hhX");
	zaptest_chk(win1252[0x1Cu],0x9Fu,unsigned char,"%hhX");
	zaptest_chk(win1252[0x1Du],0x0u, unsigned char,"%hhX");
	return false;
}