]> gitweb.hhaalo.de Git - mv_none_space.git/commitdiff
add revert oe to umlaut
authorBastian Dehn <hhaalo@arcor.de>
Fri, 19 Jul 2024 07:12:21 +0000 (09:12 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Fri, 19 Jul 2024 07:12:21 +0000 (09:12 +0200)
src/rename.c
src/rename.h
tests/rename_tests.c

index 02af6c04a06e9af1fd11b5779a9d5fdb7ec2f31a..136e2a4920996ef49b5b88a0fe39fe67fc6eeca8 100644 (file)
@@ -116,6 +116,14 @@ void rename_revert_str(char* src, char* dst)
                        i++;
                        dst[dstcounter++] = WIDE_CHAR_SHORT_PREFIX;
                        dst[dstcounter++] = WIDE_CHAR_SHORT_A;
+               } else if (src[i] == 'o' && src[i + 1] == 'e') {
+                       i++;
+                       dst[dstcounter++] = WIDE_CHAR_SHORT_PREFIX;
+                       dst[dstcounter++] = WIDE_CHAR_SHORT_o;
+               } else if (src[i] == 'O' && src[i + 1] == 'e') {
+                       i++;
+                       dst[dstcounter++] = WIDE_CHAR_SHORT_PREFIX;
+                       dst[dstcounter++] = WIDE_CHAR_SHORT_O;
                } else {
                        dst[dstcounter++] = src[i];
                }
index 9eab3b05c49949cb33ff6a1e3350e8064844efdb..e29cf07db6eb30a65778800cd6d1f9608833d43b 100644 (file)
@@ -24,6 +24,8 @@
 #define WIDE_CHAR_SHORT_PREFIX 0xc3
 #define WIDE_CHAR_SHORT_a 0xa4
 #define WIDE_CHAR_SHORT_A 0x84
+#define WIDE_CHAR_SHORT_o 0xb6
+#define WIDE_CHAR_SHORT_O 0x96
 
 typedef void (*rename_func_ptr)(char* src, char* dst);
 void escape_str(char* src, char* dst);
index 5caa2abac7660f7b0d89a8a0cf4796ac74a6a7d1..c470efa503c0ed87183f401505f206390a3c4ce3 100644 (file)
@@ -167,6 +167,26 @@ void rename_revert_Ae(void **state)
        assert_string_equal(output, "Ächtzen");
 }
 
+void rename_revert_oe(void **state)
+{
+       char* output = (char*) *state;
+       char* input = "Koenig";
+
+       rename_revert_str(input, output);
+
+       assert_string_equal(output, "König");
+}
+
+void rename_revert_Oe(void **state)
+{
+       char* output = (char*) *state;
+       char* input = "Oekosystem";
+
+       rename_revert_str(input, output);
+
+       assert_string_equal(output, "Ökosystem");
+}
+
 int main()
 {
        const struct CMUnitTest tests[] = {
@@ -184,6 +204,8 @@ int main()
                cmocka_unit_test_setup_teardown(rename_revert_spaces, setup, teardown),
                cmocka_unit_test_setup_teardown(rename_revert_ae, setup, teardown),
                cmocka_unit_test_setup_teardown(rename_revert_Ae, setup, teardown),
+               cmocka_unit_test_setup_teardown(rename_revert_oe, setup, teardown),
+               cmocka_unit_test_setup_teardown(rename_revert_Oe, setup, teardown),
        };
 
        return cmocka_run_group_tests(tests, NULL, NULL);