Files
Sourcetrail/src/test/UtilityMavenTestSuite.cpp
T
mlangkabel c38117ab8b build: allow to disable language support in cmake
* in addition: add unloadable sourcegroup to visualize, load and save information when loading a project that contains source groups that are not supported by the build
2019-11-13 17:26:06 +01:00

119 lines
4.4 KiB
C++

#include "catch.hpp"
#include "language_packages.h"
#if BUILD_JAVA_LANGUAGE_PACKAGE
#include "FilePath.h"
#include "utility.h"
#include "utilityMaven.h"
#include "utilityPathDetection.h"
TEST_CASE("maven path detector is working")
{
std::shared_ptr<PathDetector> mavenPathDetector = utility::getMavenExecutablePathDetector();
REQUIRE(mavenPathDetector->isWorking());
}
TEST_CASE("maven wrapper detects source directories of simple projects")
{
std::shared_ptr<PathDetector> mavenPathDetector = utility::getMavenExecutablePathDetector();
REQUIRE(!mavenPathDetector->getPaths().empty());
if (!mavenPathDetector->getPaths().empty())
{
std::vector<FilePath> result = utility::mavenGetAllDirectoriesFromEffectivePom(
mavenPathDetector->getPaths().front(), FilePath(L"data/UtilityMavenTestSuite/simple_maven_project"), FilePath(L"data/UtilityMavenTestSuite").makeAbsolute(), false
);
REQUIRE(utility::containsElement<FilePath>(
result, FilePath(L"data/UtilityMavenTestSuite/simple_maven_project/src/main/java").makeAbsolute()
));
REQUIRE(!utility::containsElement<FilePath>(
result, FilePath(L"data/UtilityMavenTestSuite/simple_maven_project/src/test/java").makeAbsolute()
));
}
}
TEST_CASE("maven wrapper detects source and test directories of simple projects")
{
std::shared_ptr<PathDetector> mavenPathDetector = utility::getMavenExecutablePathDetector();
REQUIRE(!mavenPathDetector->getPaths().empty());
if (!mavenPathDetector->getPaths().empty())
{
std::vector<FilePath> result = utility::mavenGetAllDirectoriesFromEffectivePom(
mavenPathDetector->getPaths().front(), FilePath(L"data/UtilityMavenTestSuite/simple_maven_project"), FilePath(L"data/UtilityMavenTestSuite").makeAbsolute(), true
);
REQUIRE(utility::containsElement<FilePath>(
result, FilePath(L"data/UtilityMavenTestSuite/simple_maven_project/src/main/java").makeAbsolute()
));
REQUIRE(utility::containsElement<FilePath>(
result, FilePath(L"data/UtilityMavenTestSuite/simple_maven_project/src/test/java").makeAbsolute()
));
}
}
TEST_CASE("maven wrapper detects source directories of nested modules")
{
std::shared_ptr<PathDetector> mavenPathDetector = utility::getMavenExecutablePathDetector();
REQUIRE(!mavenPathDetector->getPaths().empty());
if (!mavenPathDetector->getPaths().empty())
{
std::vector<FilePath> result = utility::mavenGetAllDirectoriesFromEffectivePom(
mavenPathDetector->getPaths().front(), FilePath(L"data/UtilityMavenTestSuite/nested_maven_project"), FilePath(L"data/UtilityMavenTestSuite").makeAbsolute(), false
);
REQUIRE(utility::containsElement<FilePath>(
result, FilePath(L"data/UtilityMavenTestSuite/nested_maven_project/module_1/src/main/java").makeAbsolute()
));
REQUIRE(utility::containsElement<FilePath>(
result, FilePath(L"data/UtilityMavenTestSuite/nested_maven_project/module_2/src/main/java").makeAbsolute()
));
REQUIRE(!utility::containsElement<FilePath>(
result, FilePath(L"data/UtilityMavenTestSuite/nested_maven_project/module_1/src/test/java").makeAbsolute()
));
REQUIRE(!utility::containsElement<FilePath>(
result, FilePath(L"data/UtilityMavenTestSuite/nested_maven_project/module_2/src/test/java").makeAbsolute()
));
}
}
TEST_CASE("maven wrapper detects source and test directories of nested modules")
{
std::shared_ptr<PathDetector> mavenPathDetector = utility::getMavenExecutablePathDetector();
REQUIRE(!mavenPathDetector->getPaths().empty());
if (!mavenPathDetector->getPaths().empty())
{
std::vector<FilePath> result = utility::mavenGetAllDirectoriesFromEffectivePom(
mavenPathDetector->getPaths().front(), FilePath(L"data/UtilityMavenTestSuite/nested_maven_project"), FilePath(L"data/UtilityMavenTestSuite").makeAbsolute(), true
);
REQUIRE(utility::containsElement<FilePath>(
result, FilePath(L"data/UtilityMavenTestSuite/nested_maven_project/module_1/src/main/java").makeAbsolute()
));
REQUIRE(utility::containsElement<FilePath>(
result, FilePath(L"data/UtilityMavenTestSuite/nested_maven_project/module_2/src/main/java").makeAbsolute()
));
REQUIRE(utility::containsElement<FilePath>(
result, FilePath(L"data/UtilityMavenTestSuite/nested_maven_project/module_1/src/test/java").makeAbsolute()
));
REQUIRE(utility::containsElement<FilePath>(
result, FilePath(L"data/UtilityMavenTestSuite/nested_maven_project/module_2/src/test/java").makeAbsolute()
));
}
}
#endif // BUILD_JAVA_LANGUAGE_PACKAGE