i++;
dst[dstcounter++] = WIDE_CHAR_SHORT_PREFIX;
dst[dstcounter++] = WIDE_CHAR_SHORT_U;
+ } else if (src[i] == 's' && src[i + 1] == 's') {
+ i++;
+ dst[dstcounter++] = WIDE_CHAR_SHORT_PREFIX;
+ dst[dstcounter++] = WIDE_CHAR_SHORT_SS;
} else {
dst[dstcounter++] = src[i];
}
#define WIDE_CHAR_SHORT_O 0x96
#define WIDE_CHAR_SHORT_u 0xbc
#define WIDE_CHAR_SHORT_U 0x9c
+#define WIDE_CHAR_SHORT_SS 0x9f
typedef void (*rename_func_ptr)(char* src, char* dst);
void escape_str(char* src, char* dst);
assert_string_equal(output, "Überlastung");
}
+void rename_revert_ss(void **state)
+{
+ char* output = (char*) *state;
+ char* input = "Gruss";
+
+ rename_revert_str(input, output);
+
+ assert_string_equal(output, "Gruß");
+}
+
int main()
{
const struct CMUnitTest tests[] = {
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),
+ cmocka_unit_test_setup_teardown(rename_revert_ss, setup, teardown),
};
return cmocka_run_group_tests(tests, NULL, NULL);