diff --git a/src/sequence_diagram/visitor/translation_unit_visitor.cc b/src/sequence_diagram/visitor/translation_unit_visitor.cc index 0e488c93..ad4fbf55 100644 --- a/src/sequence_diagram/visitor/translation_unit_visitor.cc +++ b/src/sequence_diagram/visitor/translation_unit_visitor.cc @@ -1301,7 +1301,7 @@ translation_unit_visitor::create_class_model(clang::CXXRecordDecl *cls) c.set_namespace(ns); c.set_id(common::to_id(c.full_name(false))); - // Check if lambda is declared as an argument passed to a + // TODO: Check if lambda is declared as an argument passed to a // function/method call } else { @@ -2079,8 +2079,9 @@ std::string translation_unit_visitor::make_lambda_name( const auto location = cls->getLocation(); const auto file_line = source_manager().getSpellingLineNumber(location); const auto file_column = source_manager().getSpellingColumnNumber(location); - const std::string file_name = - util::split(source_manager().getFilename(location).str(), "/").back(); + const std::string file_name = std::filesystem::relative( + source_manager().getFilename(location).str(), config().relative_to()) + .string(); if (context().caller_id() != 0 && get_participant(context().caller_id()).has_value()) { diff --git a/tests/t20012/test_case.h b/tests/t20012/test_case.h index e639dd23..d940d6e8 100644 --- a/tests/t20012/test_case.h +++ b/tests/t20012/test_case.h @@ -36,35 +36,43 @@ TEST_CASE("t20012", "[test-case][sequence]") // Check if all calls exist REQUIRE_THAT(puml, - HasCall(_A("tmain()"), _A("tmain()::(lambda t20012.cc:66:20)"), + HasCall(_A("tmain()"), + _A("tmain()::(lambda ../../tests/t20012/t20012.cc:66:20)"), "operator()()")); - REQUIRE_THAT( - puml, HasCall(_A("tmain()::(lambda t20012.cc:66:20)"), _A("A"), "a()")); + REQUIRE_THAT(puml, + HasCall(_A("tmain()::(lambda ../../tests/t20012/t20012.cc:66:20)"), + _A("A"), "a()")); REQUIRE_THAT(puml, HasCall(_A("A"), _A("A"), "aa()")); REQUIRE_THAT(puml, HasCall(_A("A"), _A("A"), "aaa()")); - REQUIRE_THAT( - puml, HasCall(_A("tmain()::(lambda t20012.cc:66:20)"), _A("B"), "b()")); + REQUIRE_THAT(puml, + HasCall(_A("tmain()::(lambda ../../tests/t20012/t20012.cc:66:20)"), + _A("B"), "b()")); REQUIRE_THAT(puml, HasCall(_A("B"), _A("B"), "bb()")); REQUIRE_THAT(puml, HasCall(_A("B"), _A("B"), "bbb()")); - REQUIRE_THAT( - puml, HasCall(_A("tmain()::(lambda t20012.cc:79:20)"), _A("C"), "c()")); + REQUIRE_THAT(puml, + HasCall(_A("tmain()::(lambda ../../tests/t20012/t20012.cc:79:20)"), + _A("C"), "c()")); REQUIRE_THAT(puml, HasCall(_A("C"), _A("C"), "cc()")); REQUIRE_THAT(puml, HasCall(_A("C"), _A("C"), "ccc()")); REQUIRE_THAT(puml, - HasCall(_A("tmain()::(lambda t20012.cc:79:20)"), - _A("tmain()::(lambda t20012.cc:66:20)"), "operator()()")); + HasCall(_A("tmain()::(lambda ../../tests/t20012/t20012.cc:79:20)"), + _A("tmain()::(lambda ../../tests/t20012/t20012.cc:66:20)"), + "operator()()")); REQUIRE_THAT(puml, HasCall(_A("C"), _A("C"), "ccc()")); REQUIRE_THAT(puml, - HasCall(_A("tmain()"), _A("R"), "r()")); + HasCall(_A("tmain()"), + _A("R"), "r()")); REQUIRE_THAT(puml, - HasCall(_A("R"), - _A("tmain()::(lambda t20012.cc:85:9)"), "operator()()")); - REQUIRE_THAT( - puml, HasCall(_A("tmain()::(lambda t20012.cc:85:9)"), _A("C"), "c()")); + HasCall(_A("R"), + _A("tmain()::(lambda ../../tests/t20012/t20012.cc:85:9)"), + "operator()()")); + REQUIRE_THAT(puml, + HasCall(_A("tmain()::(lambda ../../tests/t20012/t20012.cc:85:9)"), + _A("C"), "c()")); REQUIRE_THAT(puml, HasCall(_A("tmain()"), _A("D"), "add5(int)"));