Directory: | ./ |
---|---|
File: | tmp_project/PhoenixOptionParser/TESTS/TEST_OPTION_COMPLETION/main.cpp |
Date: | 2025-03-14 12:18:05 |
Exec | Total | Coverage | |
---|---|---|---|
Lines: | 22 | 22 | 100.0% |
Branches: | 121 | 121 | 100.0% |
Line | Branch | Exec | Source |
---|---|---|---|
1 | |||
2 | /*************************************** | ||
3 | Auteur : Pierre Aubert | ||
4 | Mail : pierre.aubert@lapp.in2p3.fr | ||
5 | Licence : CeCILL-C | ||
6 | ****************************************/ | ||
7 | |||
8 | #include <iostream> | ||
9 | #include "phoenix_assert.h" | ||
10 | #include "phoenix_check.h" | ||
11 | #include "phoenix_system.h" | ||
12 | |||
13 | ///Check the option completion of a program | ||
14 | /** @param program : program to be tested | ||
15 | * @param partialOption : partial typed option | ||
16 | * @param cursorOption : option of the cursor | ||
17 | * @param prevCursorOption : previous cursor option | ||
18 | * @param expectedResult : expected completion result | ||
19 | * @return true on success, false otherwise | ||
20 | */ | ||
21 | 11 | bool checkOptionCompletion(const PString & program, const PString & partialOption, const PString & prevCursorOption, | |
22 | const PString & cursorOption, const PString & expectedResult) | ||
23 | { | ||
24 |
7/7✓ Branch 1 taken 11 times.
✓ Branch 4 taken 11 times.
✓ Branch 7 taken 11 times.
✓ Branch 10 taken 11 times.
✓ Branch 13 taken 11 times.
✓ Branch 16 taken 11 times.
✓ Branch 19 taken 11 times.
|
22 | PString command(program + " __bashcompletionmode=\""+cursorOption+"\" __bashcompletionmodeprev=\""+prevCursorOption+"\" prgName " + partialOption); |
25 |
1/1✓ Branch 1 taken 11 times.
|
11 | PString resultCmd(phoenix_popen(command)); |
26 | |||
27 |
3/3✓ Branch 1 taken 11 times.
✓ Branch 4 taken 11 times.
✓ Branch 7 taken 11 times.
|
11 | bool b(phoenix_check("checkOptionCompletion cmd("+command+")", resultCmd, expectedResult)); |
28 | 11 | return b; | |
29 | 11 | } | |
30 | |||
31 | ///Test the completion of the option | ||
32 | 1 | void testCompletion(){ | |
33 |
10/10✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
✓ Branch 22 taken 1 times.
✓ Branch 25 taken 1 times.
✓ Branch 28 taken 1 times.
✓ Branch 31 taken 1 times.
|
1 | phoenix_assert(checkOptionCompletion(PROGRAM_OPTION_COMPLETION_INT, "", "", "", "--value -n --help -h --version -v \n")); |
34 |
10/10✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
✓ Branch 22 taken 1 times.
✓ Branch 25 taken 1 times.
✓ Branch 28 taken 1 times.
✓ Branch 31 taken 1 times.
|
1 | phoenix_assert(checkOptionCompletion(PROGRAM_OPTION_COMPLETION_INT, "-", "", "-", "--value -n --help -h --version -v \n")); |
35 | //Here we expect mostly '--value --help --version' | ||
36 |
10/10✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
✓ Branch 22 taken 1 times.
✓ Branch 25 taken 1 times.
✓ Branch 28 taken 1 times.
✓ Branch 31 taken 1 times.
|
1 | phoenix_assert(checkOptionCompletion(PROGRAM_OPTION_COMPLETION_INT, "--", "", "--", "--value --help --version \n")); |
37 | //Here we expect mostly '--value --version' | ||
38 |
10/10✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
✓ Branch 22 taken 1 times.
✓ Branch 25 taken 1 times.
✓ Branch 28 taken 1 times.
✓ Branch 31 taken 1 times.
|
1 | phoenix_assert(checkOptionCompletion(PROGRAM_OPTION_COMPLETION_INT, "--v", "", "--v", "--value --version \n")); |
39 |
10/10✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
✓ Branch 22 taken 1 times.
✓ Branch 25 taken 1 times.
✓ Branch 28 taken 1 times.
✓ Branch 31 taken 1 times.
|
1 | phoenix_assert(checkOptionCompletion(PROGRAM_OPTION_COMPLETION_INT, "--value", "--value", "", "INT\n")); |
40 |
10/10✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
✓ Branch 22 taken 1 times.
✓ Branch 25 taken 1 times.
✓ Branch 28 taken 1 times.
✓ Branch 31 taken 1 times.
|
1 | phoenix_assert(checkOptionCompletion(PROGRAM_OPTION_COMPLETION_INT, "--value=42", "", "", "--help -h --version -v \n")); |
41 | |||
42 | //Let's test the vector of possible values | ||
43 |
10/10✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
✓ Branch 22 taken 1 times.
✓ Branch 25 taken 1 times.
✓ Branch 28 taken 1 times.
✓ Branch 31 taken 1 times.
|
1 | phoenix_assert(checkOptionCompletion(PROGRAM_OPTION_COMPLETION_VEC_POSSIBLE_VALUE, "", "", "", "--project -p --help -h --version -v \n")); |
44 |
10/10✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
✓ Branch 22 taken 1 times.
✓ Branch 25 taken 1 times.
✓ Branch 28 taken 1 times.
✓ Branch 31 taken 1 times.
|
1 | phoenix_assert(checkOptionCompletion(PROGRAM_OPTION_COMPLETION_VEC_POSSIBLE_VALUE, "--project", "--project", "", "test othervalue lastpossibility\n")); |
45 | |||
46 |
10/10✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
✓ Branch 22 taken 1 times.
✓ Branch 25 taken 1 times.
✓ Branch 28 taken 1 times.
✓ Branch 31 taken 1 times.
|
1 | phoenix_assert(checkOptionCompletion(PROGRAM_OPTION_COMPLETION_VEC_POSSIBLE_VALUE, "--project", "--project", "oth", "othervalue\n")); |
47 | |||
48 |
10/10✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
✓ Branch 22 taken 1 times.
✓ Branch 25 taken 1 times.
✓ Branch 28 taken 1 times.
✓ Branch 31 taken 1 times.
|
1 | phoenix_assert(checkOptionCompletion(PROGRAM_OPTION_COMPLETION_VEC_POSSIBLE_VALUE, "-p", "-p", "", "test othervalue lastpossibility\n")); |
49 |
10/10✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
✓ Branch 22 taken 1 times.
✓ Branch 25 taken 1 times.
✓ Branch 28 taken 1 times.
✓ Branch 31 taken 1 times.
|
1 | phoenix_assert(checkOptionCompletion(PROGRAM_OPTION_COMPLETION_VEC_POSSIBLE_VALUE, "--project=test", "", "", "--help -h --version -v \n")); |
50 | 1 | } | |
51 | |||
52 | 1 | int main(int argc, char** argv){ | |
53 | 1 | testCompletion(); | |
54 | 1 | return 0; | |
55 | } | ||
56 | |||
57 | |||
58 |