diff options
| author | Wilmer van der Gaast <wilmer@gaast.net> | 2007-10-12 01:06:50 +0100 | 
|---|---|---|
| committer | Wilmer van der Gaast <wilmer@gaast.net> | 2007-10-12 01:06:50 +0100 | 
| commit | d444c09e6c7ac6fc3c1686af0e63c09805d8cd00 (patch) | |
| tree | b567c3ee431a72ed68713f023c977781f10e23cb /tests/check_util.c | |
| parent | 285b55d3b38d6e1c8b3fc4a64945f2bb9ace07f4 (diff) | |
Added word_wrap() function to misc.c and using it at the right places so
that long messages in groupchats also get wrapped properly (instead of
truncated).
Diffstat (limited to 'tests/check_util.c')
| -rw-r--r-- | tests/check_util.c | 58 | 
1 files changed, 58 insertions, 0 deletions
| diff --git a/tests/check_util.c b/tests/check_util.c index 284ddba3..b00d645b 100644 --- a/tests/check_util.c +++ b/tests/check_util.c @@ -103,6 +103,63 @@ START_TEST(test_set_url_username_pwd)  	fail_unless (url.port == 1080);  END_TEST +struct +{ +	char *orig; +	int line_len; +	char *wrapped; +} word_wrap_tests[] = { +	{ +		"Line-wrapping is not as easy as it seems?", +		16, +		"Line-wrapping is\nnot as easy as\nit seems?" +	}, +	{ +		"Line-wrapping is not as easy as it seems?", +		8, +		"Line-\nwrapping\nis not\nas easy\nas it\nseems?" +	}, +	{ +		"Line-wrapping is\nnot as easy as it seems?", +		8, +		"Line-\nwrapping\nis\nnot as\neasy as\nit\nseems?" +	}, +	{ +		"a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa", +		5, +		"a aa\naaa\naaaa\naaaaa\naaaaa\na\naaaaa\naa\naaaaa\naaa", +	}, +	{ +		"aaaaaaaa aaaaaaa aaaaaa aaaaa aaaa aaa aa a", +		5, +		"aaaaa\naaa\naaaaa\naa\naaaaa\na\naaaaa\naaaa\naaa\naa a", +	}, +	{ +		"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", +		5, +		"aaaaa\naaaaa\naaaaa\naaaaa\naaaaa\naaaaa\naaaaa\na", +	}, +	{ +		NULL +	} +}; + +START_TEST(test_word_wrap) +	int i; +	 +	for( i = 0; word_wrap_tests[i].orig && *word_wrap_tests[i].orig; i ++ ) +	{ +		char *wrapped = word_wrap( word_wrap_tests[i].orig, word_wrap_tests[i].line_len ); +		 +		fail_unless( strcmp( word_wrap_tests[i].wrapped, wrapped ) == 0, +		             "%s (line_len = %d) should wrap to `%s', not to `%s'", +		             word_wrap_tests[i].orig, word_wrap_tests[i].line_len, +		             word_wrap_tests[i].wrapped, wrapped ); +		 +		g_free( wrapped ); +	} +END_TEST +  Suite *util_suite (void)  {  	Suite *s = suite_create("Util"); @@ -115,5 +172,6 @@ Suite *util_suite (void)  	tcase_add_test (tc_core, test_set_url_port);  	tcase_add_test (tc_core, test_set_url_username);  	tcase_add_test (tc_core, test_set_url_username_pwd); +	tcase_add_test (tc_core, test_word_wrap);  	return s;  } | 
