Allow previous autocompletion with shift tab
This commit is contained in:
@@ -56,7 +56,7 @@ void p_gpg_free_keys(GHashTable *keys) {}
|
||||
|
||||
void p_gpg_autocomplete_key_reset(void) {}
|
||||
|
||||
char * p_gpg_autocomplete_key(const char * const search_str)
|
||||
char * p_gpg_autocomplete_key(const char * const search_str, gboolean previous)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ void reset_after_create(void **state)
|
||||
void find_after_create(void **state)
|
||||
{
|
||||
Autocomplete ac = autocomplete_new();
|
||||
autocomplete_complete(ac, "hello", TRUE);
|
||||
autocomplete_complete(ac, "hello", TRUE, FALSE);
|
||||
autocomplete_clear(ac);
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ void add_one_and_complete(void **state)
|
||||
{
|
||||
Autocomplete ac = autocomplete_new();
|
||||
autocomplete_add(ac, "Hello");
|
||||
char *result = autocomplete_complete(ac, "Hel", TRUE);
|
||||
char *result = autocomplete_complete(ac, "Hel", TRUE, FALSE);
|
||||
|
||||
assert_string_equal("Hello", result);
|
||||
|
||||
@@ -55,7 +55,7 @@ void add_two_and_complete_returns_first(void **state)
|
||||
Autocomplete ac = autocomplete_new();
|
||||
autocomplete_add(ac, "Hello");
|
||||
autocomplete_add(ac, "Help");
|
||||
char *result = autocomplete_complete(ac, "Hel", TRUE);
|
||||
char *result = autocomplete_complete(ac, "Hel", TRUE, FALSE);
|
||||
|
||||
assert_string_equal("Hello", result);
|
||||
|
||||
@@ -67,8 +67,8 @@ void add_two_and_complete_returns_second(void **state)
|
||||
Autocomplete ac = autocomplete_new();
|
||||
autocomplete_add(ac, "Hello");
|
||||
autocomplete_add(ac, "Help");
|
||||
char *result1 = autocomplete_complete(ac, "Hel", TRUE);
|
||||
char *result2 = autocomplete_complete(ac, result1, TRUE);
|
||||
char *result1 = autocomplete_complete(ac, "Hel", TRUE, FALSE);
|
||||
char *result2 = autocomplete_complete(ac, result1, TRUE, FALSE);
|
||||
|
||||
assert_string_equal("Help", result2);
|
||||
|
||||
@@ -123,7 +123,7 @@ void complete_accented_with_accented(void **state)
|
||||
Autocomplete ac = autocomplete_new();
|
||||
autocomplete_add(ac, "èâîô");
|
||||
|
||||
char *result = autocomplete_complete(ac, "èâ", TRUE);
|
||||
char *result = autocomplete_complete(ac, "èâ", TRUE, FALSE);
|
||||
|
||||
assert_string_equal("èâîô", result);
|
||||
|
||||
@@ -135,7 +135,7 @@ void complete_accented_with_base(void **state)
|
||||
Autocomplete ac = autocomplete_new();
|
||||
autocomplete_add(ac, "èâîô");
|
||||
|
||||
char *result = autocomplete_complete(ac, "ea", TRUE);
|
||||
char *result = autocomplete_complete(ac, "ea", TRUE, FALSE);
|
||||
|
||||
assert_string_equal("èâîô", result);
|
||||
|
||||
@@ -148,8 +148,8 @@ void complete_both_with_accented(void **state)
|
||||
autocomplete_add(ac, "eaooooo");
|
||||
autocomplete_add(ac, "èâîô");
|
||||
|
||||
char *result1 = autocomplete_complete(ac, "èâ", TRUE);
|
||||
char *result2 = autocomplete_complete(ac, result1, TRUE);
|
||||
char *result1 = autocomplete_complete(ac, "èâ", TRUE, FALSE);
|
||||
char *result2 = autocomplete_complete(ac, result1, TRUE, FALSE);
|
||||
|
||||
assert_string_equal("èâîô", result2);
|
||||
|
||||
@@ -162,8 +162,8 @@ void complete_both_with_base(void **state)
|
||||
autocomplete_add(ac, "eaooooo");
|
||||
autocomplete_add(ac, "èâîô");
|
||||
|
||||
char *result1 = autocomplete_complete(ac, "ea", TRUE);
|
||||
char *result2 = autocomplete_complete(ac, result1, TRUE);
|
||||
char *result1 = autocomplete_complete(ac, "ea", TRUE, FALSE);
|
||||
char *result2 = autocomplete_complete(ac, result1, TRUE, FALSE);
|
||||
|
||||
assert_string_equal("èâîô", result2);
|
||||
|
||||
@@ -175,9 +175,26 @@ void complete_ignores_case(void **state)
|
||||
Autocomplete ac = autocomplete_new();
|
||||
autocomplete_add(ac, "MyBuddy");
|
||||
|
||||
char *result = autocomplete_complete(ac, "myb", TRUE);
|
||||
char *result = autocomplete_complete(ac, "myb", TRUE, FALSE);
|
||||
|
||||
assert_string_equal("MyBuddy", result);
|
||||
|
||||
autocomplete_clear(ac);
|
||||
}
|
||||
|
||||
void complete_previous(void **state)
|
||||
{
|
||||
Autocomplete ac = autocomplete_new();
|
||||
autocomplete_add(ac, "MyBuddy1");
|
||||
autocomplete_add(ac, "MyBuddy2");
|
||||
autocomplete_add(ac, "MyBuddy3");
|
||||
|
||||
char *result1 = autocomplete_complete(ac, "myb", TRUE, FALSE);
|
||||
char *result2 = autocomplete_complete(ac, result1, TRUE, FALSE);
|
||||
char *result3 = autocomplete_complete(ac, result2, TRUE, FALSE);
|
||||
char *result4 = autocomplete_complete(ac, result3, TRUE, TRUE);
|
||||
|
||||
assert_string_equal("MyBuddy2", result4);
|
||||
|
||||
autocomplete_clear(ac);
|
||||
}
|
||||
|
||||
@@ -13,3 +13,4 @@ void complete_accented_with_base(void **state);
|
||||
void complete_both_with_accented(void **state);
|
||||
void complete_both_with_base(void **state);
|
||||
void complete_ignores_case(void **state);
|
||||
void complete_previous(void **state);
|
||||
|
||||
@@ -158,7 +158,7 @@ void find_first_exists(void **state)
|
||||
|
||||
char *search = strdup("B");
|
||||
|
||||
char *result = roster_contact_autocomplete(search);
|
||||
char *result = roster_contact_autocomplete(search, FALSE);
|
||||
assert_string_equal("Bob", result);
|
||||
free(result);
|
||||
free(search);
|
||||
@@ -172,7 +172,7 @@ void find_second_exists(void **state)
|
||||
roster_add("Dave", NULL, NULL, NULL, FALSE);
|
||||
roster_add("Bob", NULL, NULL, NULL, FALSE);
|
||||
|
||||
char *result = roster_contact_autocomplete("Dav");
|
||||
char *result = roster_contact_autocomplete("Dav", FALSE);
|
||||
assert_string_equal("Dave", result);
|
||||
free(result);
|
||||
roster_destroy();
|
||||
@@ -185,7 +185,7 @@ void find_third_exists(void **state)
|
||||
roster_add("Dave", NULL, NULL, NULL, FALSE);
|
||||
roster_add("Bob", NULL, NULL, NULL, FALSE);
|
||||
|
||||
char *result = roster_contact_autocomplete("Ja");
|
||||
char *result = roster_contact_autocomplete("Ja", FALSE);
|
||||
assert_string_equal("James", result);
|
||||
free(result);
|
||||
roster_destroy();
|
||||
@@ -198,7 +198,7 @@ void find_returns_null(void **state)
|
||||
roster_add("Dave", NULL, NULL, NULL, FALSE);
|
||||
roster_add("Bob", NULL, NULL, NULL, FALSE);
|
||||
|
||||
char *result = roster_contact_autocomplete("Mike");
|
||||
char *result = roster_contact_autocomplete("Mike", FALSE);
|
||||
assert_null(result);
|
||||
roster_destroy();
|
||||
}
|
||||
@@ -206,7 +206,7 @@ void find_returns_null(void **state)
|
||||
void find_on_empty_returns_null(void **state)
|
||||
{
|
||||
roster_create();
|
||||
char *result = roster_contact_autocomplete("James");
|
||||
char *result = roster_contact_autocomplete("James", FALSE);
|
||||
assert_null(result);
|
||||
roster_destroy();
|
||||
}
|
||||
@@ -218,8 +218,8 @@ void find_twice_returns_second_when_two_match(void **state)
|
||||
roster_add("Jamie", NULL, NULL, NULL, FALSE);
|
||||
roster_add("Bob", NULL, NULL, NULL, FALSE);
|
||||
|
||||
char *result1 = roster_contact_autocomplete("Jam");
|
||||
char *result2 = roster_contact_autocomplete(result1);
|
||||
char *result1 = roster_contact_autocomplete("Jam", FALSE);
|
||||
char *result2 = roster_contact_autocomplete(result1, FALSE);
|
||||
assert_string_equal("Jamie", result2);
|
||||
free(result1);
|
||||
free(result2);
|
||||
@@ -240,11 +240,11 @@ void find_five_times_finds_fifth(void **state)
|
||||
roster_add("Jamy", NULL, NULL, NULL, FALSE);
|
||||
roster_add("Jamz", NULL, NULL, NULL, FALSE);
|
||||
|
||||
char *result1 = roster_contact_autocomplete("Jam");
|
||||
char *result2 = roster_contact_autocomplete(result1);
|
||||
char *result3 = roster_contact_autocomplete(result2);
|
||||
char *result4 = roster_contact_autocomplete(result3);
|
||||
char *result5 = roster_contact_autocomplete(result4);
|
||||
char *result1 = roster_contact_autocomplete("Jam", FALSE);
|
||||
char *result2 = roster_contact_autocomplete(result1, FALSE);
|
||||
char *result3 = roster_contact_autocomplete(result2, FALSE);
|
||||
char *result4 = roster_contact_autocomplete(result3, FALSE);
|
||||
char *result5 = roster_contact_autocomplete(result4, FALSE);
|
||||
assert_string_equal("Jamo", result5);
|
||||
free(result1);
|
||||
free(result2);
|
||||
@@ -261,9 +261,9 @@ void find_twice_returns_first_when_two_match_and_reset(void **state)
|
||||
roster_add("Jamie", NULL, NULL, NULL, FALSE);
|
||||
roster_add("Bob", NULL, NULL, NULL, FALSE);
|
||||
|
||||
char *result1 = roster_contact_autocomplete("Jam");
|
||||
char *result1 = roster_contact_autocomplete("Jam", FALSE);
|
||||
roster_reset_search_attempts();
|
||||
char *result2 = roster_contact_autocomplete(result1);
|
||||
char *result2 = roster_contact_autocomplete(result1, FALSE);
|
||||
assert_string_equal("James", result2);
|
||||
free(result1);
|
||||
free(result2);
|
||||
|
||||
@@ -408,7 +408,7 @@ void cons_check_version(gboolean not_available_msg) {}
|
||||
void cons_show_typing(const char * const barejid) {}
|
||||
void cons_show_incoming_room_message(const char *const nick, const char *const room, const int win_index, gboolean mention, GList *triggers, int unread) {}
|
||||
void cons_show_incoming_message(const char * const short_from, const int win_index, int unread) {}
|
||||
void cons_show_room_invites(GSList *invites) {}
|
||||
void cons_show_room_invites(GList *invites) {}
|
||||
void cons_show_received_subs(void) {}
|
||||
void cons_show_sent_subs(void) {}
|
||||
void cons_alert(void) {}
|
||||
|
||||
@@ -95,6 +95,7 @@ int main(int argc, char* argv[]) {
|
||||
unit_test(complete_both_with_accented),
|
||||
unit_test(complete_both_with_base),
|
||||
unit_test(complete_ignores_case),
|
||||
unit_test(complete_previous),
|
||||
|
||||
unit_test(create_jid_from_null_returns_null),
|
||||
unit_test(create_jid_from_empty_string_returns_null),
|
||||
|
||||
@@ -128,7 +128,7 @@ void message_send_invite(const char * const room, const char * const contact,
|
||||
// presence functions
|
||||
void presence_subscription(const char * const jid, const jabber_subscr_t action) {}
|
||||
|
||||
GSList* presence_get_subscription_requests(void)
|
||||
GList* presence_get_subscription_requests(void)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
@@ -140,7 +140,7 @@ gint presence_sub_request_count(void)
|
||||
|
||||
void presence_reset_sub_request_search(void) {}
|
||||
|
||||
char * presence_sub_request_find(const char * const search_str)
|
||||
char * presence_sub_request_find(const char * const search_str, gboolean previous)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
@@ -250,7 +250,7 @@ GList * bookmark_get_list(void)
|
||||
return (GList *)mock();
|
||||
}
|
||||
|
||||
char * bookmark_find(const char * const search_str)
|
||||
char * bookmark_find(const char * const search_str, gboolean previous)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
@@ -298,7 +298,7 @@ gboolean blocked_remove(char *jid)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
char* blocked_ac_find(const char *const search_str)
|
||||
char* blocked_ac_find(const char *const search_str, gboolean previous)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user