summaryrefslogtreecommitdiff
path: root/test/valid.c
diff options
context:
space:
mode:
authorSteven G. Johnson <stevenj@mit.edu>2015-05-29 21:58:21 -0400
committerSteven G. Johnson <stevenj@mit.edu>2015-05-29 21:58:21 -0400
commit35ec8e32e7e9ccbc7bc12da6eec5b11e72a9e674 (patch)
tree4652dafe789ee6a8ac76154dad6a7d14c2778df1 /test/valid.c
parent7c14ef5f8371e463a01e0f1de971caa600384390 (diff)
parent6a229a6776b154b1906b6a1f282b72b38322e36b (diff)
downloadlibutf8proc-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.c41
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;
+}