1 #include <ccan/utf8/utf8.h>
2 /* Include the C files directly. */
3 #include <ccan/utf8/utf8.c>
4 #include <ccan/tap/tap.h>
6 int main(int argc, char **argv)
9 char dest[UTF8_MAX_LEN];
11 plan_tests(1 + 0x10FFFF + 1);
13 for (i = 0; i < 1; i++)
14 ok1(utf8_encode(i, dest) == 0 && errno == ERANGE);
15 for (; i <= 0x7F; i++)
16 ok1(utf8_encode(i, dest) == 1);
17 for (; i <= 0x7FF; i++)
18 ok1(utf8_encode(i, dest) == 2);
19 for (; i <= 0xD7FF; i++)
20 ok1(utf8_encode(i, dest) == 3);
21 for (; i <= 0xDFFF; i++)
22 ok1(utf8_encode(i, dest) == 0 && errno == ERANGE);
23 for (; i <= 0xFFFF; i++)
24 ok1(utf8_encode(i, dest) == 3);
25 for (; i <= 0x10FFFF; i++)
26 ok1(utf8_encode(i, dest) == 4);
27 ok1(utf8_encode(i, dest) == 0 && errno == ERANGE);