diff options
author | Wilmer van der Gaast <wilmer@gaast.net> | 2010-07-29 10:57:01 +0200 |
---|---|---|
committer | Wilmer van der Gaast <wilmer@gaast.net> | 2010-07-29 10:57:01 +0200 |
commit | b40e60db39f0b187774cfd2e0fe1b503f9bf1a54 (patch) | |
tree | 38fd49db9aad6e7dcca05a24b1add0cf7e96c243 /tests | |
parent | 3963fdd2bc0a8b1a3665b2dfdab574cf53bf071d (diff) |
Fixing http_encode(): BitlBee now calls setlocale() (for nickname
transliteration to work), which changes the behaviour of isalpha() (turns
out it's not a simple macro). For HTTP-encoding, this sucks, especially
when doing OAuth (which is very picky about the way HTTP encoding is done).
This should fix problems some people were seeing with posting Twitter
messages containing accents.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/check.c | 2 | ||||
-rw-r--r-- | tests/check_util.c | 9 |
2 files changed, 11 insertions, 0 deletions
diff --git a/tests/check.c b/tests/check.c index e42f1255..601d9726 100644 --- a/tests/check.c +++ b/tests/check.c @@ -2,6 +2,7 @@ #include <glib.h> #include <gmodule.h> #include <check.h> +#include <locale.h> #include "bitlbee.h" #include "testsuite.h" @@ -91,6 +92,7 @@ int main (int argc, char **argv) g_option_context_free(pc); log_init(); + setlocale(LC_CTYPE, ""); if (verbose) { log_link( LOGLVL_ERROR, LOGOUTPUT_CONSOLE ); diff --git a/tests/check_util.c b/tests/check_util.c index b00d645b..c323241e 100644 --- a/tests/check_util.c +++ b/tests/check_util.c @@ -160,6 +160,14 @@ START_TEST(test_word_wrap) } END_TEST +START_TEST(test_http_encode) + char s[80]; + + strcpy( s, "ee\xc3""\xab""ee!!..." ); + http_encode( s ); + fail_unless( strcmp( s, "ee%C3%ABee%21%21..." ) == 0 ); +END_TEST + Suite *util_suite (void) { Suite *s = suite_create("Util"); @@ -173,5 +181,6 @@ Suite *util_suite (void) 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); + tcase_add_test (tc_core, test_http_encode); return s; } |