GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: tmp_project/OptionParser/TESTS/TEST_ParserOptionMulti/main.cpp Lines: 38 38 100.0 %
Date: 2024-12-09 15:30:52 Branches: 76 76 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 "OptionParser.h"
9
10
///Create the OptionParser of this program
11
/**	@return OptionParser of this program
12
*/
13
3
OptionParser createOptionParser(){
14
3
	std::cerr << "createOptionParser : create the option parser :" << std::endl;
15
6
	OptionParser parser(true, "1.0.0");
16
3
	parser.setExampleLongOption("phoenix_tex2html --input=fileInput.tex --output=\"output/Directory\"");
17
3
	parser.setExampleShortOption("phoenix_tex2html -i fileInput.tex -o output/Directory");
18
19

3
	parser.addOption("input", "i", OptionType::FILENAME, true, "name of the input file");
20
21
6
	std::string defaultOutputDir(".");
22

3
	parser.addOption("output", "o", defaultOutputDir, "output directory where the files will be generated");
23
24
6
	std::string bibliographyFile("");
25

3
	parser.addOption("bibliography", "b", bibliographyFile, "input bibliography file");
26
6
	std::string includeDir(".");
27

3
	parser.addOption("includedirs", "I", includeDir, "list of include directories");
28
29

3
	parser.addOption("mathjax", "j", OptionType::NONE, false, "enable the MathJax backend instead of the Latex one");
30
6
	return parser;
31
}
32
33
3
int main(int argc, char** argv){
34
6
	OptionParser parser = createOptionParser();
35
3
	std::cerr << "createOptionParser : parse the argument" << std::endl;
36
3
	parser.parseArgument(argc, argv);
37
38
3
	const OptionMode & defaultMode = parser.getDefaultMode();
39
6
	std::string inputFile;
40
3
	defaultMode.getValue(inputFile, "input");
41

3
	std::cout << "inputFile = '" << inputFile << "'" << std::endl;
42
43
6
	std::string outputDir(".");
44
3
	defaultMode.getValue(outputDir, "output");
45
46
3
	if(outputDir == ""){
47
1
		outputDir = ".";
48
	}
49

3
	std::cout << "outputDir = '" << outputDir << "'" << std::endl;
50
51
6
	std::string inputBibliography("");
52
3
	defaultMode.getValue(inputBibliography, "bibliography");
53

3
	std::cout << "inputBibliography = '" << inputBibliography << "'" << std::endl;
54
55
3
	std::list<std::string> listInclude;
56
3
	defaultMode.getValue(listInclude, "includedirs");
57
3
	std::cout << "listInclude :" << std::endl;
58
6
	for(std::list<std::string>::iterator it(listInclude.begin()); it != listInclude.end(); ++it){
59
3
		std::cout << "\t" << (*it) << std::endl;
60
	}
61
62
3
	bool useMathJax = defaultMode.isOptionExist("mathjax");
63
3
	std::cout << "useMathJax = " << useMathJax << std::endl;
64
65
3
	return 0;
66
}
67
68