diff --git a/tests/cmake_test.cc b/tests/cmake_test.cc index 2276bde..b6786b5 100644 --- a/tests/cmake_test.cc +++ b/tests/cmake_test.cc @@ -1,18 +1,39 @@ #include #include "cmake.h" #include "project_build.h" +#include "config.h" #include int main() { - CMake cmake(JUCI_TESTS_PATH); + auto tests_path=boost::filesystem::canonical(JUCI_TESTS_PATH); + auto project_path=boost::filesystem::canonical(tests_path/".."); - g_assert(cmake.project_path.filename()=="jucipp"); + CMake cmake(tests_path); + + g_assert(cmake.project_path==project_path); auto functions_parameters=cmake.get_functions_parameters("project"); g_assert(functions_parameters.at(0).second.at(0)=="juci"); - g_assert(cmake.get_executable(boost::filesystem::path(JUCI_TESTS_PATH)/"cmake_test.cc").filename()=="cmake_test"); + g_assert(cmake.get_executable(tests_path/"cmake_test.cc").filename()=="cmake_test"); + + auto build=Project::Build::create(tests_path); + g_assert(dynamic_cast(build.get())); - auto build=Project::Build::create(JUCI_TESTS_PATH); + build=Project::Build::create(tests_path/"stubs"); g_assert(dynamic_cast(build.get())); + g_assert(build->project_path==project_path); + + Config::get().project.default_build_path="./build"; + g_assert(build->get_default_path()==project_path/"./build"); + + Config::get().project.debug_build_path="/debug"; + g_assert(build->get_debug_path()==project_path/"./build/debug"); + + auto project_path_filename=project_path.filename(); + Config::get().project.debug_build_path="../debug_"; + g_assert(build->get_debug_path()==project_path/("../debug_"+project_path_filename.string())); + + Config::get().project.default_build_path="../build_"; + g_assert(build->get_default_path()==project_path/("../build_"+project_path_filename.string())); }