From 776324bb0b25ac46f2bfd1ce06336b86299e9f3f Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Tue, 16 Jul 2024 13:38:02 +0200 Subject: [PATCH] add oe tests --- src/rename.c | 8 ++++++++ tests/rename_tests.c | 24 +++++++++++++++++++++++- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/src/rename.c b/src/rename.c index 3eec6ab..59652a9 100644 --- a/src/rename.c +++ b/src/rename.c @@ -17,6 +17,14 @@ void rename_str(char* src, char* dst) i++; dst[dstcounter++] = 'A'; dst[dstcounter++] = 'e'; + } else if (src[i] == 0xffffffc3 && src[i + 1] == 0xffffffb6) { + i++; + dst[dstcounter++] = 'o'; + dst[dstcounter++] = 'e'; + } else if (src[i] == 0xffffffc3 && src[i + 1] == 0xffffff96) { + i++; + dst[dstcounter++] = 'O'; + dst[dstcounter++] = 'e'; } else { dst[dstcounter++] = src[i]; } diff --git a/tests/rename_tests.c b/tests/rename_tests.c index b45009a..bae6f60 100644 --- a/tests/rename_tests.c +++ b/tests/rename_tests.c @@ -57,12 +57,34 @@ void rename_Ae(void **state) assert_string_equal(output, "Aechtzen"); } +void rename_oe(void **state) +{ + char* output = (char*) *state; + char* input = "König"; + + rename_str(input, output); + + assert_string_equal(output, "Koenig"); +} + +void rename_Oe(void **state) +{ + char* output = (char*) *state; + char* input = "Ökosystem"; + + rename_str(input, output); + + assert_string_equal(output, "Oekosystem"); +} + int main() { const struct CMUnitTest tests[] = { cmocka_unit_test_setup_teardown(rename_spaces, setup, teardown), cmocka_unit_test_setup_teardown(rename_ae, setup, teardown), - cmocka_unit_test_setup_teardown(rename_Ae, setup, teardown) + cmocka_unit_test_setup_teardown(rename_Ae, setup, teardown), + cmocka_unit_test_setup_teardown(rename_oe, setup, teardown), + cmocka_unit_test_setup_teardown(rename_Oe, setup, teardown) }; return cmocka_run_group_tests(tests, NULL, NULL); -- 2.39.5