static void test_set(void) { char *buf; reset_completion(); assert_int_equal(0, complete_cmd("se")); buf = next_completion(); assert_string_equal("set", buf); free(buf); }
static void test_dont_remove_range(void) { char *completion; reset_completion(); assert_int_equal(2, complete_cmd("% del")); assert_int_equal(3, get_completion_count()); if(get_completion_count() == 0) return; completion = next_completion(); assert_string_equal("delcommand", completion); free(completion); reset_completion(); assert_int_equal(1, complete_cmd("3del")); assert_int_equal(3, get_completion_count()); if(get_completion_count() == 0) return; completion = next_completion(); assert_string_equal("delcommand", completion); free(completion); }
static void test_delc_completion(void) { char *completion; assert_int_equal(0, execute_cmd("command udf a")); reset_completion(); assert_int_equal(5, complete_cmd("delc u")); assert_int_equal(2, get_completion_count()); if(get_completion_count() == 0) return; completion = next_completion(); assert_string_equal("udf", completion); free(completion); }
static void test_empty_line_completion(void) { char *buf; reset_completion(); assert_int_equal(0, complete_cmd("")); buf = next_completion(); assert_string_equal("!", buf); free(buf); buf = next_completion(); assert_string_equal("alink", buf); free(buf); }
static void test_skip_abbreviations(void) { char *completion; reset_completion(); assert_int_equal(0, complete_cmd("d")); assert_int_equal(3, get_completion_count()); if(get_completion_count() == 0) return; completion = next_completion(); assert_string_equal("delcommand", completion); free(completion); completion = next_completion(); assert_string_equal("delete", completion); free(completion); }
static void test_skip_complete_args(void) { char *completion; reset_completion(); assert_int_equal(17, complete_cmd("% dele fast slow ")); assert_int_equal(3, get_completion_count()); if(get_completion_count() == 0) return; completion = next_completion(); assert_string_equal("fastrun", completion); free(completion); completion = next_completion(); assert_string_equal("followlinks", completion); free(completion); }
static int complete_args(int id, const char *args, int argc, char **argv, int arg_pos) { const char *arg; reset_completion(); add_completion("followlinks"); add_completion("fastrun"); completion_group_end(); add_completion("f"); arg = strrchr(args, ' '); if(arg == NULL) arg = args; else arg++; return arg - args; }
static void test_skip_goto(void) { char *completion; reset_completion(); assert_int_equal(0, complete_cmd("")); assert_int_equal(5, get_completion_count()); if(get_completion_count() == 0) return; completion = next_completion(); assert_string_equal("comclear", completion); free(completion); completion = next_completion(); assert_string_equal("command", completion); free(completion); completion = next_completion(); assert_string_equal("delcommand", completion); free(completion); }
static void teardown(void) { reset_completion(); }
static void teardown(void) { clear_variables(); reset_completion(); }