diff --git a/src/common/generators/json/generator.cc b/src/common/generators/json/generator.cc index a9577f00..79622391 100644 --- a/src/common/generators/json/generator.cc +++ b/src/common/generators/json/generator.cc @@ -86,4 +86,4 @@ std::string render_name(std::string name) } } // namespace generators::json -} // namespace clanguml::common::model +} // namespace clanguml::common diff --git a/src/sequence_diagram/generators/json/sequence_diagram_generator.cc b/src/sequence_diagram/generators/json/sequence_diagram_generator.cc index d126d5a7..5202764c 100644 --- a/src/sequence_diagram/generators/json/sequence_diagram_generator.cc +++ b/src/sequence_diagram/generators/json/sequence_diagram_generator.cc @@ -265,8 +265,10 @@ void generator::process_call_message( visited.push_back(m.from()); if (m.in_static_declaration_context()) { - if (util::contains(already_generated_in_static_context_, m)) + if (util::contains(already_generated_in_static_context_, m)) { + visited.pop_back(); return; + } already_generated_in_static_context_.push_back(m); } diff --git a/src/sequence_diagram/generators/plantuml/sequence_diagram_generator.cc b/src/sequence_diagram/generators/plantuml/sequence_diagram_generator.cc index 11cceb37..571eca2e 100644 --- a/src/sequence_diagram/generators/plantuml/sequence_diagram_generator.cc +++ b/src/sequence_diagram/generators/plantuml/sequence_diagram_generator.cc @@ -388,8 +388,7 @@ void generator::generate_participant( print_debug(class_participant, ostr); auto participant_name = - config().simplify_template_type( - class_participant.full_name(false)); + config().simplify_template_type(class_participant.full_name(false)); participant_name = config().using_namespace().relative(participant_name); @@ -534,7 +533,8 @@ void generator::generate_diagram(std::ostream &ostr) const if (from.value().type_name() == "method" || config().combine_free_functions_into_file_participants()) { generate_participant(ostr, from_activity_id); - ostr << "[->" << " " << generate_alias(from.value()) << " : " + ostr << "[->" + << " " << generate_alias(from.value()) << " : " << from.value().message_name( select_method_arguments_render_mode()) << '\n'; @@ -573,7 +573,8 @@ void generator::generate_diagram(std::ostream &ostr) const if (from.value().type_name() == "method" || config().combine_free_functions_into_file_participants()) { generate_participant(ostr, from_activity_id); - ostr << "[->" << " " << generate_alias(from.value()) << " : " + ostr << "[->" + << " " << generate_alias(from.value()) << " : " << from.value().message_name( select_method_arguments_render_mode()) << '\n'; @@ -637,7 +638,8 @@ void generator::generate_diagram(std::ostream &ostr) const // first activity for this 'start_from' condition if (from.value().type_name() == "method" || config().combine_free_functions_into_file_participants()) { - ostr << "[->" << " " << from_alias << " : " + ostr << "[->" + << " " << from_alias << " : " << from.value().message_name(render_mode) << '\n'; } @@ -650,7 +652,8 @@ void generator::generate_diagram(std::ostream &ostr) const config().combine_free_functions_into_file_participants()) { if (!from.value().is_void()) { - ostr << "[<--" << " " << from_alias; + ostr << "[<--" + << " " << from_alias; if (config().generate_return_types()) ostr << " : //" << from.value().return_type() << "//"; diff --git a/tests/t20001/test_case.h b/tests/t20001/test_case.h index c0538f34..818c55b9 100644 --- a/tests/t20001/test_case.h +++ b/tests/t20001/test_case.h @@ -31,10 +31,10 @@ TEST_CASE("t20001") REQUIRE(MessageOrder(src, { // - {"tmain()", "A", "A()"}, // + {"tmain()", "A", "A()"}, // {"tmain()", "B", "B(A &)"}, // - {"tmain()", "A", "add(int,int)"}, // + {"tmain()", "A", "add(int,int)"}, // {"tmain()", "B", "wrap_add3(int,int,int)"}, // {"B", "A", "add3(int,int,int)"}, // diff --git a/tests/t20014/test_case.h b/tests/t20014/test_case.h index cea34203..43f54e5a 100644 --- a/tests/t20014/test_case.h +++ b/tests/t20014/test_case.h @@ -37,4 +37,4 @@ TEST_CASE("t20014") {"C", "B", "b1(int,int)"}, // })); }); - } \ No newline at end of file +} \ No newline at end of file diff --git a/tests/t20015/test_case.h b/tests/t20015/test_case.h index f4510ece..98ad91e1 100644 --- a/tests/t20015/test_case.h +++ b/tests/t20015/test_case.h @@ -30,7 +30,7 @@ TEST_CASE("t20015") })); REQUIRE(!HasMessage(src, {"B", {"detail", "A"}, "set_x(int)"})); - REQUIRE(!HasMessage(src, {"B", {"detail" ,"A"}, "set_y(int)"})); + REQUIRE(!HasMessage(src, {"B", {"detail", "A"}, "set_y(int)"})); REQUIRE(!HasMessage(src, {"B", {"detail", "A"}, "set_z(int)"})); REQUIRE(!HasMessage(src, {"B", "B", "set_x(int)"})); diff --git a/tests/t20019/test_case.h b/tests/t20019/test_case.h index cca2e308..e2ef00da 100644 --- a/tests/t20019/test_case.h +++ b/tests/t20019/test_case.h @@ -30,7 +30,7 @@ TEST_CASE("t20019") {"tmain()", "Base", "name()"}, // {"Base", "D1", "impl()"}, // {"tmain()", "Base", "name()"}, // - {"Base", "D2", "impl()"} // + {"Base", "D2", "impl()"} // })); }); } \ No newline at end of file diff --git a/tests/t20022/test_case.h b/tests/t20022/test_case.h index edf69bc5..0f6d284e 100644 --- a/tests/t20022/test_case.h +++ b/tests/t20022/test_case.h @@ -32,7 +32,7 @@ TEST_CASE("t20022") // properly {"tmain()", "A", "A(std::unique_ptr)"}, // {"tmain()", "A", "a()"}, // - {"A", "B", "b()"}, // + {"A", "B", "b()"}, // })); }); } \ No newline at end of file diff --git a/tests/t20037/test_case.h b/tests/t20037/test_case.h index a5d6efbf..4a18a5d3 100644 --- a/tests/t20037/test_case.h +++ b/tests/t20037/test_case.h @@ -33,59 +33,13 @@ TEST_CASE("t20037") {"a()", "B", "get()"}, // {"a()", "c()", ""}, // -// {"tmain(int,char **)", "a()", ""}, // -// {"a()", "B", "get()"}, // -// {"a()", "c()", ""}, // -// -// {"tmain(int,char **)", "a()", ""}, // -// {"a()", "B", "get()"}, // -// {"a()", "c()", ""} // + {"tmain(int,char **)", "a()", ""}, // + {"a()", "B", "get()"}, // + {"a()", "c()", ""}, // + + {"tmain(int,char **)", "a()", ""}, // + {"a()", "B", "get()"}, // + {"a()", "c()", ""} // })); }); - /* - { - auto src = generate_sequence_puml(diagram, *model); - AliasMatcher _A(src); - - REQUIRE_THAT(src, StartsWith("@startuml")); - REQUIRE_THAT(src, EndsWith("@enduml\n")); - - REQUIRE_THAT(src, HasCall(_A("tmain(int,char **)"), _A("a()"), "")); - REQUIRE_THAT(src, HasCall(_A("a()"), _A("initb()"), "")); - REQUIRE_THAT(src, HasCall(_A("a()"), _A("B"), "get()")); - REQUIRE_THAT(src, HasCall(_A("a()"), _A("c()"), "")); - - save_puml(config.output_directory(), diagram->name + ".puml", src); - } - - { - auto j = generate_sequence_json(diagram, *model); - - using namespace json; - - std::vector messages = { - FindMessage(j, "tmain(int,char **)", "a()", ""), - FindMessage(j, "a()", "initb()", ""), - FindMessage(j, "a()", "B", "get()"), - FindMessage(j, "a()", "c()", "")}; - - REQUIRE(std::is_sorted(messages.begin(), messages.end())); - - save_json(config.output_directory(), diagram->name + ".json", j); - } - - { - auto src = generate_sequence_mermaid(diagram, *model); - - mermaid::SequenceDiagramAliasMatcher _A(src); - using mermaid::HasCall; - - REQUIRE_THAT(src, HasCall(_A("tmain(int,char **)"), _A("a()"), "")); - REQUIRE_THAT(src, HasCall(_A("a()"), _A("initb()"), "")); - REQUIRE_THAT(src, HasCall(_A("a()"), _A("B"), "get()")); - REQUIRE_THAT(src, HasCall(_A("a()"), _A("c()"), "")); - - save_mermaid(config.output_directory(), diagram->name + ".mmd", - src); - }*/ } \ No newline at end of file diff --git a/tests/t20046/test_case.h b/tests/t20046/test_case.h index 3e7d293a..7214fe4d 100644 --- a/tests/t20046/test_case.h +++ b/tests/t20046/test_case.h @@ -25,7 +25,8 @@ TEST_CASE("t20046") CHECK_SEQUENCE_DIAGRAM(config, diagram, *model, [](const auto &src) { REQUIRE(MessageOrder(src, - {// + { + // {"tmain()", "tmain()::(lambda t20046.cc:13:15)", "operator()(auto &&) const"}, // {"tmain()::(lambda t20046.cc:13:15)", diff --git a/tests/test_cases.cc b/tests/test_cases.cc index 845b3df3..1b4b8d3c 100644 --- a/tests/test_cases.cc +++ b/tests/test_cases.cc @@ -248,7 +248,8 @@ void try_run_test_case(const diagram_source_storage &diagrams, TC &&tc) std::cout << "-----------------------------------------------------" "--------------------------\n"; std::cout << "Test case failed for diagram type " - << T::diagram_type_name << ": " << "\n\n"; + << T::diagram_type_name << ": " + << "\n\n"; std::cout << diagrams.get().to_string() << "\n"; throw e; @@ -610,7 +611,6 @@ void CHECK_INCLUDE_DIAGRAM(const clanguml::config::config &config, #include "t20052/test_case.h" #include "t20053/test_case.h" - /// /// Package diagram tests /// diff --git a/tests/test_cases.h b/tests/test_cases.h index 60c2b4c0..71f454b8 100644 --- a/tests/test_cases.h +++ b/tests/test_cases.h @@ -51,8 +51,6 @@ using namespace clanguml::util; std::pair load_config(const std::string &test_name); -//void save_puml(const std::string &path, const std::string &puml); - namespace clanguml::test { template constexpr bool has_type() noexcept