any: as_ref() on empty returns empty
This commit is contained in:
@@ -57,6 +57,26 @@ TEST(Any, Empty) {
|
||||
ASSERT_EQ(any.data(), nullptr);
|
||||
}
|
||||
|
||||
TEST(Any, EmptyAsRef) {
|
||||
entt::any any{};
|
||||
|
||||
ASSERT_FALSE(any);
|
||||
ASSERT_FALSE(any.owner());
|
||||
ASSERT_EQ(any.policy(), entt::any_policy::empty);
|
||||
ASSERT_EQ(any.info(), entt::type_id<void>());
|
||||
ASSERT_EQ(entt::any_cast<double>(&any), nullptr);
|
||||
ASSERT_EQ(any.data(), nullptr);
|
||||
|
||||
auto other = any.as_ref();
|
||||
|
||||
ASSERT_FALSE(other);
|
||||
ASSERT_FALSE(other.owner());
|
||||
ASSERT_EQ(other.policy(), entt::any_policy::empty);
|
||||
ASSERT_EQ(other.info(), entt::type_id<void>());
|
||||
ASSERT_EQ(entt::any_cast<double>(&other), nullptr);
|
||||
ASSERT_EQ(other.data(), nullptr);
|
||||
}
|
||||
|
||||
TEST(Any, HasValue) {
|
||||
entt::any any{};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user