diff options
author | Steven G. Johnson <stevenj@mit.edu> | 2015-05-29 21:58:21 -0400 |
---|---|---|
committer | Steven G. Johnson <stevenj@mit.edu> | 2015-05-29 21:58:21 -0400 |
commit | 35ec8e32e7e9ccbc7bc12da6eec5b11e72a9e674 (patch) | |
tree | 4652dafe789ee6a8ac76154dad6a7d14c2778df1 /test/valid.c | |
parent | 7c14ef5f8371e463a01e0f1de971caa600384390 (diff) | |
parent | 6a229a6776b154b1906b6a1f282b72b38322e36b (diff) | |
download | libutf8proc-35ec8e32e7e9ccbc7bc12da6eec5b11e72a9e674.tar.gz libutf8proc-35ec8e32e7e9ccbc7bc12da6eec5b11e72a9e674.tar.bz2 |
Merge pull request #35 from ScottPJones/spj/valid
Fix #34 handle 66 Unicode non-characters and surrogates correctly
Diffstat (limited to 'test/valid.c')
-rw-r--r-- | test/valid.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/test/valid.c b/test/valid.c new file mode 100644 index 0000000..eadfb85 --- /dev/null +++ b/test/valid.c @@ -0,0 +1,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; +} |