summaryrefslogtreecommitdiff
path: root/test/valid.c
blob: eadfb8520e4afd74f8dcb1c8823511513e131f77 (plain)
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
#include "tests.h"
#include <ctype.h>
#include <wchar.h>

int main(int argc, char **argv)
{
     int c, error = 0;

     (void) argc; /* unused */
     (void) argv; /* unused */

     /* some simple sanity tests of  */
     for (c = 0; c < 0xd800; c++) {
        if (!utf8proc_codepoint_valid(c)) {
           fprintf(stderr, "Failed: codepoint_valid(%04x) -> false\n", c);
           error++;
        }
     }
     for (;c < 0xe000; c++) {
        if (utf8proc_codepoint_valid(c)) {
           fprintf(stderr, "Failed: codepoint_valid(%04x) -> true\n", c);
           error++;
        }
     }
     for (;c < 0x110000; c++) {
        if (!utf8proc_codepoint_valid(c)) {
           fprintf(stderr, "Failed: codepoint_valid(%06x) -> false\n", c);
           error++;
        }
     }
     for (;c < 0x110010; c++) {
        if (utf8proc_codepoint_valid(c)) {
           fprintf(stderr, "Failed: codepoint_valid(%06x) -> true\n", c);
           error++;
        }
     }
     check(!error, "utf8proc_codepoint_valid FAILED %d tests.", error);
     printf("Validity tests SUCCEEDED.\n");

     return 0;
}