File tests/menus/filetypes.c changed (mode: 100644) (index d729fa98d..9a703b3da) |
... |
... |
TEST(unknown_key_is_ignored) |
111 |
111 |
|
|
112 |
112 |
TEST(pseudo_entry_is_always_present_for_directories) |
TEST(pseudo_entry_is_always_present_for_directories) |
113 |
113 |
{ |
{ |
114 |
|
char *error; |
|
115 |
|
matchers_group_t mg; |
|
116 |
|
assert_success(ft_mg_from_string("{bla-*/}", &mg, &error)); |
|
117 |
|
assert_string_equal(NULL, error); |
|
118 |
|
|
|
119 |
|
ft_set_programs(mg, "abc-run %c", 0, 0); |
|
|
114 |
|
assoc_programs("{bla-*/}", "abc-run %c", 0, 0); |
120 |
115 |
|
|
121 |
116 |
assert_success(cmds_dispatch("filetype bla-dir/", &lwin, CIT_COMMAND)); |
assert_success(cmds_dispatch("filetype bla-dir/", &lwin, CIT_COMMAND)); |
122 |
117 |
|
|
|
... |
... |
TEST(no_menu_if_no_handlers) |
136 |
131 |
|
|
137 |
132 |
TEST(filetypes_menu) |
TEST(filetypes_menu) |
138 |
133 |
{ |
{ |
139 |
|
char *error; |
|
140 |
|
matchers_group_t mg; |
|
141 |
|
assert_success(ft_mg_from_string("{a,b,c}", &mg, &error)); |
|
142 |
|
assert_string_equal(NULL, error); |
|
143 |
|
|
|
144 |
|
ft_set_programs(mg, "abc-run %c", 0, 0); |
|
|
134 |
|
assoc_programs("{a,b,c}", "abc-run %c", 0, 0); |
145 |
135 |
|
|
146 |
136 |
assert_success(cmds_dispatch("filetype b", &lwin, CIT_COMMAND)); |
assert_success(cmds_dispatch("filetype b", &lwin, CIT_COMMAND)); |
147 |
137 |
|
|
|
... |
... |
TEST(filetypes_menu) |
153 |
143 |
|
|
154 |
144 |
TEST(fileviewers_menu) |
TEST(fileviewers_menu) |
155 |
145 |
{ |
{ |
156 |
|
char *error; |
|
157 |
|
matchers_group_t mg; |
|
158 |
|
assert_success(ft_mg_from_string("{a,b,c}", &mg, &error)); |
|
159 |
|
assert_string_equal(NULL, error); |
|
160 |
|
|
|
161 |
|
ft_set_viewers(mg, "abc-view %c"); |
|
|
146 |
|
assoc_viewers("{a,b,c}", "abc-view %c"); |
162 |
147 |
|
|
163 |
148 |
assert_success(cmds_dispatch("fileviewer c", &lwin, CIT_COMMAND)); |
assert_success(cmds_dispatch("fileviewer c", &lwin, CIT_COMMAND)); |
164 |
149 |
|
|
File tests/misc/quickview.c changed (mode: 100644) (index 058798e3e..2983a4931) |
... |
... |
TEST(preview_can_match_agains_full_paths) |
55 |
55 |
{ |
{ |
56 |
56 |
ft_init(NULL); |
ft_init(NULL); |
57 |
57 |
|
|
58 |
|
char *error; |
|
59 |
|
matchers_group_t mg; |
|
60 |
|
assert_success(ft_mg_from_string("{{*/*}}", &mg, &error)); |
|
61 |
|
assert_string_equal(NULL, error); |
|
62 |
|
|
|
63 |
|
ft_set_viewers(mg, "the-viewer"); |
|
|
58 |
|
assoc_viewers("{{*/*}}", "the-viewer"); |
64 |
59 |
|
|
65 |
60 |
assert_string_equal("the-viewer", |
assert_string_equal("the-viewer", |
66 |
61 |
qv_get_viewer(TEST_DATA_PATH "/read/two-lines")); |
qv_get_viewer(TEST_DATA_PATH "/read/two-lines")); |
|
... |
... |
TEST(preview_prg_overrules_fileviewer) |
72 |
67 |
{ |
{ |
73 |
68 |
ft_init(NULL); |
ft_init(NULL); |
74 |
69 |
|
|
75 |
|
char *error; |
|
76 |
|
matchers_group_t mg; |
|
77 |
|
assert_success(ft_mg_from_string("file", &mg, &error)); |
|
78 |
|
assert_string_equal(NULL, error); |
|
79 |
|
|
|
80 |
|
ft_set_viewers(mg, "the-viewer"); |
|
|
70 |
|
assoc_viewers("file", "the-viewer"); |
81 |
71 |
|
|
82 |
72 |
assert_string_equal("the-viewer", qv_get_viewer("file")); |
assert_string_equal("the-viewer", qv_get_viewer("file")); |
83 |
73 |
update_string(&curr_view->preview_prg, "override"); |
update_string(&curr_view->preview_prg, "override"); |
|
... |
... |
TEST(quick_view_picks_parent_directory_if_there_is_a_match) |
156 |
146 |
dir_entry_t entry = { .origin = origin, .name = name, .type = FT_DIR }; |
dir_entry_t entry = { .origin = origin, .name = name, .type = FT_DIR }; |
157 |
147 |
char path[PATH_MAX + 1]; |
char path[PATH_MAX + 1]; |
158 |
148 |
|
|
159 |
|
char *error; |
|
160 |
|
matchers_group_t mg; |
|
161 |
|
assert_success(ft_mg_from_string("../", &mg, &error)); |
|
162 |
|
assert_string_equal(NULL, error); |
|
163 |
|
|
|
164 |
|
ft_set_viewers(mg, "do something"); |
|
|
149 |
|
assoc_viewers("../", "do something"); |
165 |
150 |
|
|
166 |
151 |
qv_get_path_to_explore(&entry, path, sizeof(path)); |
qv_get_path_to_explore(&entry, path, sizeof(path)); |
167 |
152 |
assert_string_equal("/path/..", path); |
assert_string_equal("/path/..", path); |
File tests/misc/running.c changed (mode: 100644) (index a32eb5dc6..7b5fcd0ea) |
... |
... |
static void stop_use_script(void); |
31 |
31 |
static void assoc_a(char macro); |
static void assoc_a(char macro); |
32 |
32 |
static void assoc_b(char macro); |
static void assoc_b(char macro); |
33 |
33 |
static void assoc_common(void); |
static void assoc_common(void); |
34 |
|
static void assoc(const char pattern[], const char cmd[]); |
|
35 |
34 |
|
|
36 |
35 |
static char cwd[PATH_MAX + 1]; |
static char cwd[PATH_MAX + 1]; |
37 |
36 |
static char script_path[PATH_MAX + 1]; |
static char script_path[PATH_MAX + 1]; |
|
... |
... |
TEST(full_path_regexps_are_handled_for_selection) |
101 |
100 |
|
|
102 |
101 |
char pattern[PATH_MAX + 16]; |
char pattern[PATH_MAX + 16]; |
103 |
102 |
snprintf(pattern, sizeof(pattern), "//%s/*//", lwin.curr_dir); |
snprintf(pattern, sizeof(pattern), "//%s/*//", lwin.curr_dir); |
104 |
|
|
|
105 |
|
char *error; |
|
106 |
|
matchers_group_t mg; |
|
107 |
|
assert_success(ft_mg_from_string(pattern, &mg, &error)); |
|
108 |
|
assert_string_equal(NULL, error); |
|
109 |
|
|
|
110 |
|
ft_set_programs(mg, "echo %f >> " SANDBOX_PATH "/run", 0, 1); |
|
|
103 |
|
assoc_programs(pattern, "echo %f >> " SANDBOX_PATH "/run", 0, 1); |
111 |
104 |
|
|
112 |
105 |
rn_open(&lwin, FHE_NO_RUN); |
rn_open(&lwin, FHE_NO_RUN); |
113 |
106 |
|
|
|
... |
... |
TEST(full_path_regexps_are_handled_for_selection2) |
123 |
116 |
char pattern[PATH_MAX + 16]; |
char pattern[PATH_MAX + 16]; |
124 |
117 |
snprintf(pattern, sizeof(pattern), "//%s/*//", lwin.curr_dir); |
snprintf(pattern, sizeof(pattern), "//%s/*//", lwin.curr_dir); |
125 |
118 |
|
|
126 |
|
char *error; |
|
127 |
|
matchers_group_t mg; |
|
128 |
|
assert_success(ft_mg_from_string(pattern, &mg, &error)); |
|
129 |
|
assert_string_equal(NULL, error); |
|
130 |
|
|
|
131 |
119 |
#ifndef _WIN32 |
#ifndef _WIN32 |
132 |
|
ft_set_programs(mg, "echo > /dev/null %c &", 0, 1); |
|
|
120 |
|
assoc_programs(pattern, "echo > /dev/null %c &", 0, 1); |
133 |
121 |
#else |
#else |
134 |
|
ft_set_programs(mg, "echo > NUL %c &", 0, 1); |
|
|
122 |
|
assoc_programs(pattern, "echo > NUL %c &", 0, 1); |
135 |
123 |
#endif |
#endif |
136 |
124 |
|
|
137 |
125 |
rn_open(&lwin, FHE_NO_RUN); |
rn_open(&lwin, FHE_NO_RUN); |
|
... |
... |
TEST(can_open_via_plugin) |
148 |
136 |
GLUA_EQ(curr_stats.vlua, "", |
GLUA_EQ(curr_stats.vlua, "", |
149 |
137 |
"vifm.addhandler{ name = 'open', handler = open }"); |
"vifm.addhandler{ name = 'open', handler = open }"); |
150 |
138 |
|
|
151 |
|
char *error; |
|
152 |
|
matchers_group_t mg; |
|
153 |
|
assert_success(ft_mg_from_string("*", &mg, &error)); |
|
154 |
|
assert_string_equal(NULL, error); |
|
155 |
|
|
|
156 |
|
ft_set_programs(mg, "#vifmtest#open", /*for_x=*/0, /*in_x=*/1); |
|
|
139 |
|
assoc_programs("*", "#vifmtest#open", /*for_x=*/0, /*in_x=*/1); |
157 |
140 |
|
|
158 |
141 |
rn_open(&lwin, FHE_NO_RUN); |
rn_open(&lwin, FHE_NO_RUN); |
159 |
142 |
|
|
|
... |
... |
TEST(selection_is_incompatible, IF(not_windows)) |
294 |
277 |
TEST(selection_is_compatible, IF(not_windows)) |
TEST(selection_is_compatible, IF(not_windows)) |
295 |
278 |
{ |
{ |
296 |
279 |
start_use_script(); |
start_use_script(); |
297 |
|
assoc("{a}", "echo > /dev/null %c &"); |
|
298 |
|
assoc("{b}", "echo > /dev/null %c &"); |
|
|
280 |
|
assoc_programs("{a}", "echo > /dev/null %c &", 0, 0); |
|
281 |
|
assoc_programs("{b}", "echo > /dev/null %c &", 0, 0); |
299 |
282 |
|
|
300 |
283 |
rn_open(&lwin, FHE_NO_RUN); |
rn_open(&lwin, FHE_NO_RUN); |
301 |
284 |
|
|
|
... |
... |
TEST(macro_can_be_added_implicitly, IF(not_windows)) |
430 |
413 |
lwin.dir_entry[1].selected = 0; |
lwin.dir_entry[1].selected = 0; |
431 |
414 |
--lwin.selected_files; |
--lwin.selected_files; |
432 |
415 |
|
|
433 |
|
char *error; |
|
434 |
|
matchers_group_t mg; |
|
435 |
|
assert_success(ft_mg_from_string("{a}", &mg, &error)); |
|
436 |
|
assert_string_equal(NULL, error); |
|
437 |
|
|
|
438 |
416 |
char cmd[PATH_MAX + 1]; |
char cmd[PATH_MAX + 1]; |
439 |
417 |
snprintf(cmd, sizeof(cmd), "%s a", script_path); |
snprintf(cmd, sizeof(cmd), "%s a", script_path); |
440 |
|
ft_set_programs(mg, cmd, 0, 0); |
|
|
418 |
|
assoc_programs("{a}", cmd, 0, 0); |
441 |
419 |
|
|
442 |
420 |
rn_open(&lwin, FHE_NO_RUN); |
rn_open(&lwin, FHE_NO_RUN); |
443 |
421 |
|
|
|
... |
... |
TEST(handler_can_be_matched_by_a_prefix, IF(not_windows)) |
456 |
434 |
lwin.dir_entry[1].selected = 0; |
lwin.dir_entry[1].selected = 0; |
457 |
435 |
--lwin.selected_files; |
--lwin.selected_files; |
458 |
436 |
|
|
459 |
|
char *error; |
|
460 |
|
matchers_group_t mg; |
|
461 |
|
assert_success(ft_mg_from_string("{a}", &mg, &error)); |
|
462 |
|
assert_string_equal(NULL, error); |
|
463 |
|
|
|
464 |
437 |
char cmd[PATH_MAX + 1]; |
char cmd[PATH_MAX + 1]; |
465 |
438 |
snprintf(cmd, sizeof(cmd), "{wrong}no-such-cmd a, {right}%s a", script_path); |
snprintf(cmd, sizeof(cmd), "{wrong}no-such-cmd a, {right}%s a", script_path); |
466 |
|
ft_set_programs(mg, cmd, 0, 0); |
|
|
439 |
|
assoc_programs("{a}", cmd, 0, 0); |
467 |
440 |
|
|
468 |
441 |
rn_open_with_match(&lwin, script_path, 0); |
rn_open_with_match(&lwin, script_path, 0); |
469 |
442 |
|
|
|
... |
... |
TEST(selection_multi_run, IF(not_windows)) |
482 |
455 |
|
|
483 |
456 |
char cmd[PATH_MAX + 1]; |
char cmd[PATH_MAX + 1]; |
484 |
457 |
|
|
485 |
|
char *error; |
|
486 |
|
matchers_group_t mg; |
|
487 |
|
|
|
488 |
|
assert_success(ft_mg_from_string("{a}", &mg, &error)); |
|
489 |
|
assert_string_equal(NULL, error); |
|
490 |
458 |
snprintf(cmd, sizeof(cmd), "%s a %%c &", script_path); |
snprintf(cmd, sizeof(cmd), "%s a %%c &", script_path); |
491 |
|
ft_set_programs(mg, cmd, /*for_x=*/0, /*in_x=*/0); |
|
|
459 |
|
assoc_programs("{a}", cmd, /*for_x=*/0, /*in_x=*/0); |
492 |
460 |
|
|
493 |
|
assert_success(ft_mg_from_string("{b}", &mg, &error)); |
|
494 |
|
assert_string_equal(NULL, error); |
|
495 |
461 |
snprintf(cmd, sizeof(cmd), "%s b %%\"c &", script_path); |
snprintf(cmd, sizeof(cmd), "%s b %%\"c &", script_path); |
496 |
|
ft_set_programs(mg, cmd, /*for_x=*/0, /*in_x=*/0); |
|
|
462 |
|
assoc_programs("{b}", cmd, /*for_x=*/0, /*in_x=*/0); |
497 |
463 |
|
|
498 |
464 |
rn_open(&lwin, FHE_NO_RUN); |
rn_open(&lwin, FHE_NO_RUN); |
499 |
465 |
|
|
|
... |
... |
stop_use_script(void) |
708 |
674 |
static void |
static void |
709 |
675 |
assoc_a(char macro) |
assoc_a(char macro) |
710 |
676 |
{ |
{ |
711 |
|
char *error; |
|
712 |
|
matchers_group_t mg; |
|
713 |
|
assert_success(ft_mg_from_string("{a}", &mg, &error)); |
|
714 |
|
assert_string_equal(NULL, error); |
|
715 |
|
|
|
716 |
677 |
char cmd[PATH_MAX + 1]; |
char cmd[PATH_MAX + 1]; |
717 |
678 |
snprintf(cmd, sizeof(cmd), "%s a %%%c", script_path, macro); |
snprintf(cmd, sizeof(cmd), "%s a %%%c", script_path, macro); |
718 |
|
ft_set_programs(mg, cmd, 0, 0); |
|
|
679 |
|
assoc_programs("{a}", cmd, 0, 0); |
719 |
680 |
} |
} |
720 |
681 |
|
|
721 |
682 |
static void |
static void |
722 |
683 |
assoc_b(char macro) |
assoc_b(char macro) |
723 |
684 |
{ |
{ |
724 |
|
char *error; |
|
725 |
|
matchers_group_t mg; |
|
726 |
|
assert_success(ft_mg_from_string("{b}", &mg, &error)); |
|
727 |
|
assert_string_equal(NULL, error); |
|
728 |
|
|
|
729 |
685 |
char cmd[PATH_MAX + 1]; |
char cmd[PATH_MAX + 1]; |
730 |
686 |
snprintf(cmd, sizeof(cmd), "%s b %%%c", script_path, macro); |
snprintf(cmd, sizeof(cmd), "%s b %%%c", script_path, macro); |
731 |
|
ft_set_programs(mg, cmd, 0, 0); |
|
|
687 |
|
assoc_programs("{b}", cmd, 0, 0); |
732 |
688 |
} |
} |
733 |
689 |
|
|
734 |
690 |
static void |
static void |
735 |
691 |
assoc_common(void) |
assoc_common(void) |
736 |
692 |
{ |
{ |
737 |
|
char *error; |
|
738 |
|
matchers_group_t mg; |
|
739 |
|
assert_success(ft_mg_from_string("{a,b}", &mg, &error)); |
|
740 |
|
assert_string_equal(NULL, error); |
|
741 |
|
|
|
742 |
693 |
char cmd[PATH_MAX + 1]; |
char cmd[PATH_MAX + 1]; |
743 |
694 |
snprintf(cmd, sizeof(cmd), "%s common %%f", script_path); |
snprintf(cmd, sizeof(cmd), "%s common %%f", script_path); |
744 |
|
ft_set_programs(mg, cmd, 0, 0); |
|
745 |
|
} |
|
746 |
|
|
|
747 |
|
static void |
|
748 |
|
assoc(const char pattern[], const char cmd[]) |
|
749 |
|
{ |
|
750 |
|
char *error; |
|
751 |
|
matchers_group_t mg; |
|
752 |
|
assert_success(ft_mg_from_string(pattern, &mg, &error)); |
|
753 |
|
assert_string_equal(NULL, error); |
|
754 |
|
|
|
755 |
|
ft_set_programs(mg, cmd, 0, 0); |
|
|
695 |
|
assoc_programs("{a,b}", cmd, 0, 0); |
756 |
696 |
} |
} |
757 |
697 |
|
|
758 |
698 |
/* vim: set tabstop=2 softtabstop=2 shiftwidth=2 noexpandtab cinoptions-=(0 : */ |
/* vim: set tabstop=2 softtabstop=2 shiftwidth=2 noexpandtab cinoptions-=(0 : */ |