2 #include <completion.h>
6 /* Copy from shigofumi.c until sources will be split properly */
7 struct command base_commands
[] = {
8 { NULL
, NULL
, NULL
, NULL
, ARGTYPE_NONE
}
10 struct command message_commands
[] ={
11 { NULL
, NULL
, NULL
, NULL
, ARGTYPE_NONE
}
13 struct command list_commands
[] = {
14 { NULL
, NULL
, NULL
, NULL
, ARGTYPE_NONE
}
16 struct command (*commands
)[] = NULL
;
18 struct isds_list
*boxes
= NULL
;
19 struct isds_message
*message
= NULL
;
20 struct isds_list
*messages
= NULL
;
23 static int test_completion(const void *line
, const char **correct_argv
,
24 int correct_argc
, const char *correct_shell
) {
29 argv
= tokenize(line
, &argc
, &shell
);
31 if ((correct_argv
!= NULL
&& argv
== NULL
) ||
32 (correct_argv
== NULL
&& argv
!= NULL
)) {
33 FAIL_TEST("Wrong returned value");
35 if (argc
!= correct_argc
) {
36 FAIL_TEST("Wrong argc: expected=%d, returned=%d", correct_argc
, argc
);
38 TEST_STRING_DUPLICITY(correct_shell
, shell
);
39 for (int i
= 0; i
!= argc
; i
++) {
40 TEST_STRING_DUPLICITY(correct_argv
[i
], argv
[i
]);
47 int main(int argc
, char **argv
) {
48 const char *line
[] = {
63 const char *arg_values
[][3] = {
93 const char *shell
[] = {
109 INIT_TEST("completion");
111 for (int i
= 0; i
< sizeof(line
)/sizeof(line
[0]); i
++) {
112 TEST(line
[i
], test_completion
,
113 line
[i
], arg_values
[i
], arg_counter
[i
], shell
[i
]);