xaizek / vifm (License: GPLv2+) (since 2018-12-07)
Vifm is a file manager with curses interface, which provides Vi[m]-like environment for managing objects within file systems, extended with some useful ideas from mutt.
Commit c2a775b3a391e743ba122ab481b8ef8722e8eabd

Test handling of parent entry by local filter
When the entry doesn't pass the filter but there are no files, it should
be preserved yet return value must indicate that everything was filtered
out.
Author: xaizek
Author date (UTC): 2026-07-27 10:37
Committer name: xaizek
Committer date (UTC): 2026-07-27 10:55
Parent(s): 8e226ebf441872309fd49bb159dfd6d89fe1e5a5
Signing key: 99DC5E4DB05F6BE2
Tree: 6e1ef49bc71ab7e73dcebf9f6bf892bcdf6043bc
File Lines added Lines deleted
tests/misc/filtering.c 19 0
File tests/misc/filtering.c changed (mode: 100644) (index 21748f933..37da39b84)
... ... TEST(cursor_is_not_moved_from_parent_dir_initially)
256 256 cfg.dot_dirs = 0; cfg.dot_dirs = 0;
257 257 } }
258 258
259 TEST(remaining_parent_dir_not_matching_is_not_counted_by_local_filter)
260 {
261 cfg.dot_dirs = DD_NONROOT_PARENT;
262
263 make_abs_path(lwin.curr_dir, sizeof(lwin.curr_dir), TEST_DATA_PATH, "read",
264 cwd);
265 load_dir_list(&lwin, /*reload=*/0);
266
267 /* local_filter_set() returns 1 when everything is filtered, but parent dir is
268 * an exception. */
269 assert_int_equal(1, local_filter_set(&lwin, "nothing matches this"));
270 local_filter_update_view(&lwin, 0);
271 assert_int_equal(1, lwin.list_rows);
272 assert_string_equal("..", lwin.dir_entry[0].name);
273 local_filter_cancel(&lwin);
274
275 cfg.dot_dirs = 0;
276 }
277
259 278 TEST(cursor_is_moved_to_nearest_neighbour) TEST(cursor_is_moved_to_nearest_neighbour)
260 279 { {
261 280 char path[PATH_MAX + 1]; char path[PATH_MAX + 1];
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/vifm

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/vifm

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master