diff options
author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2020-08-08 11:53:00 +0200 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2020-08-08 11:53:00 +0200 |
commit | b623f5953691b2a0614e6f1f4def86bdbb9a4113 (patch) | |
tree | 18102bd36f7e22eb2ba2b9f880e4cb29346f4cb8 /app/wlib/mswlib/unittest/utf8test.c | |
parent | 359b557176b9bb2ff1aed2082641eed39c358d0d (diff) |
New upstream version 5.2.0Beta2.1upstream/5.2.0Beta2.1
Diffstat (limited to 'app/wlib/mswlib/unittest/utf8test.c')
-rw-r--r-- | app/wlib/mswlib/unittest/utf8test.c | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/app/wlib/mswlib/unittest/utf8test.c b/app/wlib/mswlib/unittest/utf8test.c new file mode 100644 index 0000000..5b00371 --- /dev/null +++ b/app/wlib/mswlib/unittest/utf8test.c @@ -0,0 +1,65 @@ +/** \file utf8test.c +* Unit tests for utf 8 conversion routines on Windows +*/ + +#include <setjmp.h> +#include <stdbool.h> +#include <string.h> + +#include <cmocka.h> + +#include <wlib.h> + +#define SIMPLEASCIITEXT "The quick brown fox jumps over the lazy dog." +#define UMLAUTTEXT "äöüÄÖÜß" + +static void +ASCIIText(void **state) +{ + char output[100]; + char result[100]; + bool success; + (void)state; + + success = wSystemToUTF8(SIMPLEASCIITEXT, output, 100); + assert_true((void *)success); + + success = wUTF8ToSystem(output, result, 100); + assert_true((void *)success); + + assert_false(strcmp(SIMPLEASCIITEXT, result)); +} + +static void +Umlauts(void **state) +{ + char output[100]; + char result[100]; + bool success; + (void)state; + + success = wIsUTF8(UMLAUTTEXT); + assert_false((void *)success); + + success = wSystemToUTF8(UMLAUTTEXT, output, 100); + assert_true((void *)success); + + success = wIsUTF8(output); + assert_true((void *)success); + + success = wUTF8ToSystem(output, result, 100); + assert_true((void *)success); + + assert_false(strcmp(UMLAUTTEXT, result)); +} + + +int main(void) +{ + const struct CMUnitTest tests[] = { + cmocka_unit_test(ASCIIText), + cmocka_unit_test(Umlauts), + }; + + return cmocka_run_group_tests(tests, NULL, NULL); +}
\ No newline at end of file |