utf8proc

A clean C library for processing UTF-8 Unicode data
git clone https://git.sinitax.com/juliastrings/utf8proc
Log | Files | Refs | README | LICENSE | sfeed.txt

commit 6fff5f32bbe7010367dbb512c9132400dae16b3b
parent 5f15b515e19576c42900b6de96beb12cc512d458
Author: Steven G. Johnson <stevenj@mit.edu>
Date:   Sat, 28 Mar 2020 10:00:18 -0400

compile more tests on Windows (#183)

* compile more tests on Windows

* still disable charwidth tests

* silence warnings on MSVC about sscanf

* whoops

* silence warning
Diffstat:
MCMakeLists.txt | 14+++++++-------
Mtest/graphemetest.c | 8++++----
Mtest/tests.h | 5++++-
3 files changed, 15 insertions(+), 12 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt @@ -82,15 +82,15 @@ if(UTF8PROC_ENABLE_TESTING) add_test(testprintproperty printproperty) add_test(testvalid valid) if (NOT WIN32) - # Some test disabled, because they don't compile on Windows, missing getline, ... + # no wcwidth function on Windows add_executable(charwidth test/tests.h test/tests.c utf8proc.h test/charwidth.c) target_link_libraries(charwidth utf8proc) - add_executable(graphemetest test/tests.h test/tests.c utf8proc.h test/graphemetest.c) - target_link_libraries(graphemetest utf8proc) - add_executable(normtest test/tests.h test/tests.c utf8proc.h test/normtest.c) - target_link_libraries(normtest utf8proc) add_test(testcharwidth charwidth) - #add_test(testgraphemetest graphemetest data/GraphemeBreakTest.txt) - #add_test(testnormtest normtest data/NormalizationTest.txt) endif() + add_executable(graphemetest test/tests.h test/tests.c utf8proc.h test/graphemetest.c) + target_link_libraries(graphemetest utf8proc) + add_executable(normtest test/tests.h test/tests.c utf8proc.h test/normtest.c) + target_link_libraries(normtest utf8proc) + #add_test(testgraphemetest graphemetest data/GraphemeBreakTest.txt) + #add_test(testnormtest normtest data/NormalizationTest.txt) endif() diff --git a/test/graphemetest.c b/test/graphemetest.c @@ -42,7 +42,7 @@ int main(int argc, char **argv) if (si) { utf8proc_uint8_t utf8[1024]; /* copy src without 0xff grapheme separators */ size_t i = 0, j = 0; - utf8proc_ssize_t glen; + utf8proc_ssize_t glen, k; utf8proc_uint8_t *g; /* utf8proc_map grapheme results */ while (i < si) { if (src[i] != '/') @@ -58,9 +58,9 @@ int main(int argc, char **argv) else { check(glen >= 0, "utf8proc_map error = %s", utf8proc_errmsg(glen)); - for (i = 0; i <= glen; ++i) - if (g[i] == 0xff) - g[i] = '/'; /* easier-to-read output (/ is not in test strings) */ + for (k = 0; k <= glen; ++k) + if (g[k] == 0xff) + g[k] = '/'; /* easier-to-read output (/ is not in test strings) */ check(!strcmp((char*)g, (char*)src), "grapheme mismatch: \"%s\" instead of \"%s\"", (char*)g, (char*)src); } diff --git a/test/tests.h b/test/tests.h @@ -1,13 +1,16 @@ /* Common functions and includes for our test programs. */ /* - * Set feature macro to enable getline() and wcwidth(). + * Set feature macro to enable wcwidth(). * * Please refer to section 2.2.1 of POSIX.1-2008: * http://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_02_01_02 */ #define _XOPEN_SOURCE 700 +/* silence warnings about sscanf on Windows */ +#define _CRT_SECURE_NO_WARNINGS + #include <stdio.h> #include <stdlib.h> #include <ctype.h>