Added handling of inline namespaces

This commit is contained in:
Bartek Kryza
2021-05-02 21:02:05 +02:00
parent cf1bdabeec
commit d6552dc629
5 changed files with 79 additions and 6 deletions

View File

@@ -1,9 +1,15 @@
namespace clanguml {
namespace t00015 {
namespace ns1::ns2 {
namespace ns1 {
inline namespace ns2_v1_0_0 {
class A {
};
}
namespace ns2_v0_9_0 {
class [[deprecated]] A {};
}
namespace {
class Anon final : public A {
@@ -14,7 +20,7 @@ class Anon final : public A {
namespace ns3 {
namespace ns1::ns2 {
class Anon : public t00015::ns1::ns2::A {
class Anon : public t00015::ns1::A {
};
}

View File

@@ -41,8 +41,10 @@ TEST_CASE("t00015", "[test-case][class]")
REQUIRE_THAT(puml, StartsWith("@startuml"));
REQUIRE_THAT(puml, EndsWith("@enduml\n"));
REQUIRE_THAT(puml, IsClass(_A("ns1::ns2::A")));
REQUIRE_THAT(puml, IsClass(_A("ns1::ns2::Anon")));
REQUIRE_THAT(puml, IsClass(_A("ns1::A")));
REQUIRE_THAT(puml, IsClass(_A("ns1::ns2_v0_9_0::A")));
REQUIRE_THAT(puml, IsClass(_A("ns1::Anon")));
REQUIRE_THAT(puml, IsClass(_A("ns3::ns1::ns2::Anon")));
REQUIRE_THAT(puml, IsClass(_A("ns3::B")));
save_puml(