any: as_ref() on empty returns empty

This commit is contained in:
skypjack
2026-02-12 09:18:26 +01:00
parent 0bb54130c9
commit 071febbc0c
3 changed files with 48 additions and 1 deletions
+20
View File
@@ -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{};