diff --git a/test/test.cpp b/test/test.cpp index d74c44c..17b1f2c 100644 --- a/test/test.cpp +++ b/test/test.cpp @@ -494,6 +494,21 @@ class foo2 { } // namespace boo2::boo3 } // namespace boo2 +namespace { +enum a_lt1 { s1, loooooooooooooooooooong1 }; +enum a_lt2 : unsigned { s2, loooooooooooooooooooong2 }; +enum class a_lt3 { s3, loooooooooooooooooooong3 }; +enum class a_lt4 : unsigned { s4, loooooooooooooooooooong4 }; +class a_foo1 { + public: + enum class a_lt5 { s5, loooooooooooooooooooong5 }; +}; +class a_foo2 { + public: + enum a_lt6 { s6, loooooooooooooooooooong6 }; +}; +} // namespace + TEST_CASE("enum_name") { SECTION("automatic storage") { constexpr Color cr = Color::RED; @@ -580,6 +595,22 @@ TEST_CASE("enum_name") { REQUIRE_FALSE(enum_name((boo2::boo3::foo1::lt5)12).size()); REQUIRE_FALSE(enum_name((boo2::boo3::foo2::lt6)12).size()); + + REQUIRE(enum_name(a_lt1::s1) == "s1"); + REQUIRE(enum_name(a_lt1::loooooooooooooooooooong1) == "loooooooooooooooooooong1"); + REQUIRE(enum_name(a_lt2::s2) == "s2"); + REQUIRE(enum_name(a_lt2::loooooooooooooooooooong2) == "loooooooooooooooooooong2"); + REQUIRE(enum_name(a_lt3::s3) == "s3"); + REQUIRE(enum_name(a_lt3::loooooooooooooooooooong3) == "loooooooooooooooooooong3"); + REQUIRE(enum_name(a_lt4::s4) == "s4"); + REQUIRE(enum_name(a_lt4::loooooooooooooooooooong4) == "loooooooooooooooooooong4"); + REQUIRE(enum_name(a_foo1::a_lt5::s5) == "s5"); + REQUIRE(enum_name(a_foo1::a_lt5::loooooooooooooooooooong5) == "loooooooooooooooooooong5"); + REQUIRE(enum_name(a_foo2::s6) == "s6"); + REQUIRE(enum_name(a_foo2::loooooooooooooooooooong6) == "loooooooooooooooooooong6"); + + REQUIRE_FALSE(enum_name((a_foo1::a_lt5)12).size()); + REQUIRE_FALSE(enum_name((a_foo2::a_lt6)12).size()); } SECTION("static storage") {