Added initial support for MermaidJS package diagrams

This commit is contained in:
Bartek Kryza
2023-09-09 00:18:03 +02:00
parent 32fda88852
commit ee998e7a38
16 changed files with 360 additions and 6 deletions

View File

@@ -82,4 +82,10 @@ TEST_CASE("t30001", "[test-case][package]")
save_json(config.output_directory(), diagram->name + ".json", j);
}
{
auto mmd = generate_package_mermaid(diagram, *model);
save_mermaid(config.output_directory(), diagram->name + ".mmd", mmd);
}
}

View File

@@ -121,4 +121,10 @@ TEST_CASE("t30002", "[test-case][package]")
save_json(config.output_directory(), diagram->name + ".json", j);
}
{
auto mmd = generate_package_mermaid(diagram, *model);
save_mermaid(config.output_directory(), diagram->name + ".mmd", mmd);
}
}

View File

@@ -63,4 +63,10 @@ TEST_CASE("t30003", "[test-case][package]")
save_json(config.output_directory(), diagram->name + ".json", j);
}
{
auto mmd = generate_package_mermaid(diagram, *model);
save_mermaid(config.output_directory(), diagram->name + ".mmd", mmd);
}
}

View File

@@ -58,4 +58,10 @@ TEST_CASE("t30004", "[test-case][package]")
save_json(config.output_directory(), diagram->name + ".json", j);
}
{
auto mmd = generate_package_mermaid(diagram, *model);
save_mermaid(config.output_directory(), diagram->name + ".mmd", mmd);
}
}

View File

@@ -65,4 +65,10 @@ TEST_CASE("t30005", "[test-case][package]")
save_json(config.output_directory(), diagram->name + ".json", j);
}
{
auto mmd = generate_package_mermaid(diagram, *model);
save_mermaid(config.output_directory(), diagram->name + ".mmd", mmd);
}
}

View File

@@ -59,4 +59,10 @@ TEST_CASE("t30006", "[test-case][package]")
save_json(config.output_directory(), diagram->name + ".json", j);
}
{
auto mmd = generate_package_mermaid(diagram, *model);
save_mermaid(config.output_directory(), diagram->name + ".mmd", mmd);
}
}

View File

@@ -63,4 +63,10 @@ TEST_CASE("t30007", "[test-case][package]")
save_json(config.output_directory(), diagram->name + ".json", j);
}
{
auto mmd = generate_package_mermaid(diagram, *model);
save_mermaid(config.output_directory(), diagram->name + ".mmd", mmd);
}
}

View File

@@ -77,4 +77,10 @@ TEST_CASE("t30008", "[test-case][package]")
save_json(config.output_directory(), diagram->name + ".json", j);
}
{
auto mmd = generate_package_mermaid(diagram, *model);
save_mermaid(config.output_directory(), diagram->name + ".mmd", mmd);
}
}

View File

@@ -64,4 +64,10 @@ TEST_CASE("t30009", "[test-case][package]")
save_json(config.output_directory(), diagram->name + ".json", j);
}
{
auto mmd = generate_package_mermaid(diagram, *model);
save_mermaid(config.output_directory(), diagram->name + ".mmd", mmd);
}
}

View File

@@ -57,4 +57,10 @@ TEST_CASE("t30010", "[test-case][package]")
save_json(config.output_directory(), diagram->name + ".json", j);
}
{
auto mmd = generate_package_mermaid(diagram, *model);
save_mermaid(config.output_directory(), diagram->name + ".mmd", mmd);
}
}

View File

@@ -57,4 +57,10 @@ TEST_CASE("t30011", "[test-case][package]")
save_json(config.output_directory(), diagram->name + ".json", j);
}
{
auto mmd = generate_package_mermaid(diagram, *model);
save_mermaid(config.output_directory(), diagram->name + ".mmd", mmd);
}
}

View File

@@ -243,6 +243,14 @@ std::string generate_sequence_mermaid(
config, model);
}
std::string generate_package_mermaid(
std::shared_ptr<clanguml::config::diagram> config,
clanguml::package_diagram::model::diagram &model)
{
return detail::generate_diagram_mermaid<clanguml::config::package_diagram>(
config, model);
}
template <typename T>
void save_diagram(const std::filesystem::path &path, const T &diagram)
{