logic: visual studio solution parsing
Can now parse visual studio solutions. VS Plugin can send a command, parsing is implemented in Coati. Some minor changes: added project file icon, added language check to vs plugin
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
#include "cxxtest/TestSuite.h"
|
||||
|
||||
#include "utility/logging/logging.h"
|
||||
#include "utility/solution/SolutionParserVisualStudio.h"
|
||||
|
||||
class VsSolutionParserTestSuite : public CxxTest::TestSuite
|
||||
{
|
||||
public:
|
||||
void test_load_solution()
|
||||
{
|
||||
SolutionParserVisualStudio parser;
|
||||
parser.openSolutionFile("data/vsSolutionParserTestSuite/Coati.sln");
|
||||
|
||||
// TS_ASSERT_EQUALS(10186, parser.getSolutionCharCount());
|
||||
}
|
||||
|
||||
void test_get_project_files()
|
||||
{
|
||||
SolutionParserVisualStudio parser;
|
||||
parser.openSolutionFile("data/vsSolutionParserTestSuite/Coati.sln");
|
||||
std::vector<std::string> projects = parser.getProjects();
|
||||
|
||||
TS_ASSERT_EQUALS(9, projects.size());
|
||||
TS_ASSERT_EQUALS("ALL_BUILD.vcxproj", projects[0]);
|
||||
TS_ASSERT_EQUALS("Coati.vcxproj", projects[1]);
|
||||
TS_ASSERT_EQUALS("Coati_lib.vcxproj", projects[2]);
|
||||
TS_ASSERT_EQUALS("Coati_lib_gui.vcxproj", projects[3]);
|
||||
TS_ASSERT_EQUALS("Coati_lib_parser.vcxproj", projects[4]);
|
||||
TS_ASSERT_EQUALS("Coati_test.vcxproj", projects[5]);
|
||||
TS_ASSERT_EQUALS("Coati_trial.vcxproj", projects[6]);
|
||||
TS_ASSERT_EQUALS("ZERO_CHECK.vcxproj", projects[7]);
|
||||
TS_ASSERT_EQUALS("versionnumber.vcxproj", projects[8]);
|
||||
}
|
||||
|
||||
void test_get_solution_name()
|
||||
{
|
||||
SolutionParserVisualStudio parser;
|
||||
parser.openSolutionFile("data/vsSolutionParserTestSuite/Coati.sln");
|
||||
std::string solutionName = parser.getSolutionName();
|
||||
|
||||
TS_ASSERT_EQUALS("Coati", solutionName);
|
||||
}
|
||||
|
||||
void test_get_include_paths()
|
||||
{
|
||||
SolutionParserVisualStudio parser;
|
||||
parser.openSolutionFile("data/vsSolutionParserTestSuite/Coati.sln");
|
||||
std::vector<std::string> includePaths = parser.getIncludePaths();
|
||||
|
||||
TS_ASSERT_EQUALS(23, includePaths.size());
|
||||
}
|
||||
|
||||
void test_get_()
|
||||
{
|
||||
SolutionParserVisualStudio parser;
|
||||
parser.openSolutionFile("data/vsSolutionParserTestSuite/Coati.sln");
|
||||
std::vector<std::string> projectItems = parser.getProjectItems();
|
||||
|
||||
TS_ASSERT_EQUALS(447, projectItems.size());
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user