mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-05 18:44:31 +00:00
21 lines
820 B
C
21 lines
820 B
C
#include "clar_libgit2.h"
|
|
#include "utf8.h"
|
|
|
|
void test_utf8__char_length(void)
|
|
{
|
|
cl_assert_equal_i(0, git_utf8_char_length("", 0));
|
|
cl_assert_equal_i(1, git_utf8_char_length("$", 1));
|
|
cl_assert_equal_i(5, git_utf8_char_length("abcde", 5));
|
|
cl_assert_equal_i(1, git_utf8_char_length("\xc2\xa2", 2));
|
|
cl_assert_equal_i(2, git_utf8_char_length("\x24\xc2\xa2", 3));
|
|
cl_assert_equal_i(1, git_utf8_char_length("\xf0\x90\x8d\x88", 4));
|
|
|
|
/* uncontinued character counted as single characters */
|
|
cl_assert_equal_i(2, git_utf8_char_length("\x24\xc2", 2));
|
|
cl_assert_equal_i(3, git_utf8_char_length("\x24\xc2\xc2\xa2", 4));
|
|
|
|
/* invalid characters are counted as single characters */
|
|
cl_assert_equal_i(4, git_utf8_char_length("\x24\xc0\xc0\x34", 4));
|
|
cl_assert_equal_i(4, git_utf8_char_length("\x24\xf5\xfd\xc2", 4));
|
|
}
|