Fixed handling of enums in class diagram context filter (#275)
This commit is contained in:
@@ -10,6 +10,8 @@ diagrams:
|
||||
- clanguml::t00041
|
||||
context:
|
||||
- clanguml::t00041::RR
|
||||
- clanguml::t00041::Color
|
||||
- clanguml::t00041::T::Direction
|
||||
subclasses:
|
||||
- clanguml::t00041::ns1::N
|
||||
exclude:
|
||||
|
||||
@@ -29,6 +29,10 @@ struct RR : public R {
|
||||
F *f;
|
||||
detail::G *g;
|
||||
|
||||
enum K { One, Two, Three };
|
||||
|
||||
K k;
|
||||
|
||||
void foo(H *h) { }
|
||||
};
|
||||
|
||||
@@ -42,4 +46,15 @@ struct NN : public N { };
|
||||
struct NM : public N { };
|
||||
}
|
||||
|
||||
enum class Color { Red, Green, Blue };
|
||||
|
||||
struct S {
|
||||
Color c;
|
||||
};
|
||||
|
||||
struct T {
|
||||
enum class Direction { Left, Right };
|
||||
Direction d;
|
||||
};
|
||||
|
||||
} // namespace clanguml::t00041
|
||||
|
||||
@@ -40,10 +40,16 @@ TEST_CASE("t00041")
|
||||
REQUIRE(IsClass(src, "RRR"));
|
||||
REQUIRE(!IsClass(src, "detail::G"));
|
||||
REQUIRE(!IsClass(src, "H"));
|
||||
REQUIRE(IsClass(src, "S"));
|
||||
REQUIRE(IsClass(src, "T"));
|
||||
|
||||
REQUIRE(IsBaseClass(src, "R", "RR"));
|
||||
REQUIRE(IsBaseClass(src, "RR", "RRR"));
|
||||
|
||||
REQUIRE(IsEnum(src, "RR::K"));
|
||||
REQUIRE(IsEnum(src, "Color"));
|
||||
REQUIRE(IsEnum(src, "T::Direction"));
|
||||
|
||||
REQUIRE(IsAssociation<Public>(src, "D", "RR", "rr"));
|
||||
REQUIRE(IsAssociation<Public>(src, "RR", "E", "e"));
|
||||
REQUIRE(IsAssociation<Public>(src, "RR", "F", "f"));
|
||||
@@ -54,5 +60,8 @@ TEST_CASE("t00041")
|
||||
REQUIRE(IsClass(src, {"ns1", "NM"}));
|
||||
REQUIRE(IsBaseClass(src, "ns1::N", "ns1::NN"));
|
||||
REQUIRE(IsBaseClass(src, "ns1::N", "ns1::NM"));
|
||||
|
||||
REQUIRE(IsInnerClass(src, "T", "T::Direction"));
|
||||
REQUIRE(IsAggregation<Public>(src, "S", "Color", "c"));
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user