static void test_regexp_is_changed(void) { filter_t filter; assert_int_equal(0, filter_init(&filter, 1)); assert_int_equal(0, filter_set(&filter, "abcd")); assert_true(filter_matches(&filter, "abcd")); assert_int_equal(0, filter_change(&filter, "a123", 0)); assert_false(filter_matches(&filter, "abcd")); assert_true(filter_matches(&filter, "a123")); filter_dispose(&filter); }
static void test_case_sensitivity_is_changed(void) { filter_t filter; assert_int_equal(0, filter_init(&filter, 1)); assert_int_equal(0, filter_set(&filter, "abcd")); assert_true(filter_matches(&filter, "abcd")); assert_false(filter_matches(&filter, "aBCd")); assert_int_equal(0, filter_change(&filter, "abcd", 0)); assert_true(filter_matches(&filter, "abcd")); assert_true(filter_matches(&filter, "aBCd")); filter_dispose(&filter); }
int local_filter_set(view_t *view, const char filter[]) { int result; const int current_file_pos = view->local_filter.in_progress ? get_unfiltered_pos(view, view->list_pos) : load_unfiltered_list(view); if(current_file_pos >= 0) { store_local_filter_position(view, current_file_pos); } result = (filter_change(&view->local_filter.filter, filter, !regexp_should_ignore_case(filter)) ? -1 : 0); if(update_filtering_lists(view, 1, 0) != 0 && result == 0) { result = 1; } return result; }