summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorSteven G. Johnson <stevenj@alum.mit.edu>2018-04-27 08:23:10 -0400
committerSteven G. Johnson <stevenj@alum.mit.edu>2018-04-27 08:46:44 -0400
commit53d7968055d8c89769633afa3990f59abe53122f (patch)
tree19b02326e68b31405354a3b0c16f677cd6105150 /test
parentacc204f1f15e879331c95096b6d4fac8bc2c906f (diff)
downloadlibutf8proc-53d7968055d8c89769633afa3990f59abe53122f.tar.gz
libutf8proc-53d7968055d8c89769633afa3990f59abe53122f.tar.bz2
added test for #128
Diffstat (limited to 'test')
-rw-r--r--test/misc.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/misc.c b/test/misc.c
new file mode 100644
index 0000000..707c1a0
--- /dev/null
+++ b/test/misc.c
@@ -0,0 +1,25 @@
+/* Miscellaneous tests, e.g. regression tests */
+
+#include "tests.h"
+
+void issue128(void) /* #128 */
+{
+ utf8proc_uint8_t input[] = {0x72, 0xcc, 0x87, 0xcc, 0xa3, 0x00}; /* "r\u0307\u0323" */
+ utf8proc_uint8_t nfc[] = {0xe1, 0xb9, 0x9b, 0xcc, 0x87, 0x00}; /* "\u1E5B\u0307" */
+ utf8proc_uint8_t nfd[] = {0x72, 0xcc, 0xa3, 0xcc, 0x87, 0x00}; /* "r\u0323\u0307" */
+ utf8proc_uint8_t *nfc_out, *nfd_out;
+ nfc_out = utf8proc_NFC(input);
+ printf("NFC \"%s\" -> \"%s\" vs. \"%s\"\n", (char*)input, (char*)nfc_out, (char*)nfc);
+ check(strlen((char*) nfc_out) == 5, "incorrect nfc length");
+ check(!memcmp(nfc, nfc_out, 6), "incorrect nfc data");
+ nfd_out = utf8proc_NFD(input);
+ printf("NFD \"%s\" -> \"%s\" vs. \"%s\"\n", (char*)input, (char*)nfd_out, (char*)nfd);
+ check(strlen((char*) nfd_out) == 5, "incorrect nfd length");
+ check(!memcmp(nfd, nfd_out, 6), "incorrect nfd data");
+ free(nfd_out); free(nfc_out);
+}
+
+int main(void)
+{
+ issue128();
+}