Exemplo n.º 1
0
TEST(c_h_is_bs_at_start_only, IF(locale_works))
{
	char *spec;

	spec = wstr_to_spec(WK_C_h);
	assert_string_equal("<bs>", spec);
	free(spec);

	spec = wstr_to_spec(WK_C_w WK_C_h);
	assert_string_equal("<c-w><c-h>", spec);
	free(spec);
}
Exemplo n.º 2
0
/* Inserts key suggestion into completion list. */
static void
process_suggestion(const wchar_t lhs[], const wchar_t rhs[], const char descr[])
{
	if(rhs[0] != '\0')
	{
		char *const mb_rhs = wstr_to_spec(rhs);
		vle_compl_put_match(wstr_to_spec(lhs), mb_rhs);
		free(mb_rhs);
	}
	else
	{
		vle_compl_put_match(wstr_to_spec(lhs), descr);
	}
}
Exemplo n.º 3
0
TEST(functional_keys_do_not_clash_with_characters, IF(locale_works))
{
	{
		const wchar_t key_seq[] = { L'š', L'\0' };
		char *const spec = wstr_to_spec(key_seq);
		assert_string_equal("š", spec);
		free(spec);
	}

	{
		const wchar_t key_seq[] = { WC_C_w, L'ć', L'\0' };
		char *const spec = wstr_to_spec(key_seq);
		assert_string_equal("<c-w>ć", spec);
		free(spec);
	}
}
Exemplo n.º 4
0
TEST(backspace_is_bs_always, IF(locale_works))
{
	{
		const wchar_t key_seq[] = { K(KEY_BACKSPACE), L'\0' };
		char *const spec = wstr_to_spec(key_seq);
		assert_string_equal("<bs>", spec);
		free(spec);
	}

	{
		const wchar_t key_seq[] = { WC_C_w, K(KEY_BACKSPACE), L'\0' };
		char *const spec = wstr_to_spec(key_seq);
		assert_string_equal("<c-w><bs>", spec);
		free(spec);
	}
}
Exemplo n.º 5
0
char *
describe_abbrev(const wchar_t lhs[], const wchar_t rhs[], int no_remap,
		int offset)
{
	enum { LHS_MIN_WIDTH = 13 };
	const char map_mark = no_remap ? '*' : ' ';

	char *const keys = wstr_to_spec(rhs);
	char *const descr = format_str("%-*ls %3c    %s", offset + LHS_MIN_WIDTH, lhs,
			map_mark, keys);
	free(keys);

	return descr;
}
Exemplo n.º 6
0
TEST(more_non_ascii_chars_are_handled_correctly, IF(locale_works))
{
	char *spec;

	spec = wstr_to_spec(L"Д");
	assert_string_equal("Д", spec);
	free(spec);

	spec = wstr_to_spec(L"Д");
	assert_string_equal("Д", spec);
	free(spec);

	spec = wstr_to_spec(L"Ж");
	assert_string_equal("Ж", spec);
	free(spec);

	spec = wstr_to_spec(L"М");
	assert_string_equal("М", spec);
	free(spec);

	spec = wstr_to_spec(L"О");
	assert_string_equal("О", spec);
	free(spec);

	spec = wstr_to_spec(L"Ф");
	assert_string_equal("Ф", spec);
	free(spec);

	spec = wstr_to_spec(L"Ц");
	assert_string_equal("Ц", spec);
	free(spec);

	spec = wstr_to_spec(L"Ь");
	assert_string_equal("Ь", spec);
	free(spec);

	spec = wstr_to_spec(L"Ю");
	assert_string_equal("Ю", spec);
	free(spec);

	spec = wstr_to_spec(L"д");
	assert_string_equal("д", spec);
	free(spec);

	spec = wstr_to_spec(L"ж");
	assert_string_equal("ж", spec);
	free(spec);

	spec = wstr_to_spec(L"м");
	assert_string_equal("м", spec);
	free(spec);

	spec = wstr_to_spec(L"о");
	assert_string_equal("о", spec);
	free(spec);

	spec = wstr_to_spec(L"ф");
	assert_string_equal("ф", spec);
	free(spec);

	spec = wstr_to_spec(L"ц");
	assert_string_equal("ц", spec);
	free(spec);

	spec = wstr_to_spec(L"ь");
	assert_string_equal("ь", spec);
	free(spec);

	spec = wstr_to_spec(L"ю");
	assert_string_equal("ю", spec);
	free(spec);
}
Exemplo n.º 7
0
TEST(non_ascii_chars_are_handled_correctly, IF(locale_works))
{
	char *const spec = wstr_to_spec(L"П");
	assert_string_equal("П", spec);
	free(spec);
}