} END_TEST START_TEST (test_string_buffer_fillfmt) { unsigned int size; RFS_PUSH(); char *buff1; char *buff2; ck_assert(test_rf_strings_buffer_fillfmt( "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz%d%s", &size, &buff1, 42, "ABCD")); ck_assert_uint_eq(size, 58); ck_assert_nnt_str_eq_cstr( buff1, "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz42ABCD"); RFS_PUSH(); ck_assert(test_rf_strings_buffer_fillfmt( "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ%s", &size, &buff2, "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz")); ck_assert_uint_eq(size, 104); ck_assert_nnt_str_eq_cstr( buff2, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ" "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"); RFS_POP(); RFS_POP(); } END_TEST
}END_TEST START_TEST(test_utf8_encode_single) { char utf8[50]; /* ASCII 'z' */ ck_assert_int_eq(1, (rf_utf8_encode_single(0x7A, utf8))); ck_assert_nnt_str_eq_cstr(utf8, "z"); /* Greek 'φ' */ ck_assert_int_eq(2, (rf_utf8_encode_single(0x3c6, utf8))); ck_assert_nnt_str_eq_cstr(utf8, "φ"); /* CJK '要' */ ck_assert_int_eq(3, (rf_utf8_encode_single(0x8981, utf8))); ck_assert_nnt_str_eq_cstr(utf8, "要"); /* Character '𐌈' from the SMP (Supplementrary Miltilingual Plane) */ ck_assert_int_eq(4, (rf_utf8_encode_single(0x10308, utf8))); ck_assert_nnt_str_eq_cstr(utf8, "𐌈"); /* no invalid input tests, user should make sure * these functions are not * called with null pointers */ }END_TEST