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

index 136e2a4920996ef49b5b88a0fe39fe67fc6eeca8..8b88e5b582f469b0e872edb5a9992be998671c1d 100644 (file)
@@ -124,6 +124,14 @@ void rename_revert_str(char* src, char* dst)
                        i++;
                        dst[dstcounter++] = WIDE_CHAR_SHORT_PREFIX;
                        dst[dstcounter++] = WIDE_CHAR_SHORT_O;
+               } else if (src[i] == 'u' && src[i + 1] == 'e') {
+                       i++;
+                       dst[dstcounter++] = WIDE_CHAR_SHORT_PREFIX;
+                       dst[dstcounter++] = WIDE_CHAR_SHORT_u;
+               } else if (src[i] == 'U' && src[i + 1] == 'e') {
+                       i++;
+                       dst[dstcounter++] = WIDE_CHAR_SHORT_PREFIX;
+                       dst[dstcounter++] = WIDE_CHAR_SHORT_U;
                } else {
                        dst[dstcounter++] = src[i];
                }
index e29cf07db6eb30a65778800cd6d1f9608833d43b..c6db8a4ad473f7967757d8cd328885e428a1e9d2 100644 (file)
@@ -26,6 +26,8 @@
 #define WIDE_CHAR_SHORT_A 0x84
 #define WIDE_CHAR_SHORT_o 0xb6
 #define WIDE_CHAR_SHORT_O 0x96
+#define WIDE_CHAR_SHORT_u 0xbc
+#define WIDE_CHAR_SHORT_U 0x9c
 
 typedef void (*rename_func_ptr)(char* src, char* dst);
 void escape_str(char* src, char* dst);
index c470efa503c0ed87183f401505f206390a3c4ce3..4d653c72cff8359f33264d595ade470d36eff955 100644 (file)
@@ -187,6 +187,26 @@ void rename_revert_Oe(void **state)
        assert_string_equal(output, "Ökosystem");
 }
 
+void rename_revert_ue(void **state)
+{
+       char* output = (char*) *state;
+       char* input = "bruellt";
+
+       rename_revert_str(input, output);
+
+       assert_string_equal(output, "brüllt");
+}
+
+void rename_revert_Ue(void **state)
+{
+       char* output = (char*) *state;
+       char* input = "Ueberlastung";
+
+       rename_revert_str(input, output);
+
+       assert_string_equal(output, "Überlastung");
+}
+
 int main()
 {
        const struct CMUnitTest tests[] = {
@@ -206,6 +226,8 @@ int main()
                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),
+               cmocka_unit_test_setup_teardown(rename_revert_ue, setup, teardown),
+               cmocka_unit_test_setup_teardown(rename_revert_Ue, setup, teardown),
        };
 
        return cmocka_run_group_tests(tests, NULL, NULL);