From ed78b06524f84f0fc5c0fbf2d6dd87e42d652e0f Mon Sep 17 00:00:00 2001 From: Aglargil <1252223935@qq.com> Date: Thu, 6 Feb 2025 15:24:56 +0800 Subject: [PATCH] Use recursive call in Blackboard::createEntry --- src/blackboard.cpp | 2 +- tests/gtest_blackboard.cpp | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/blackboard.cpp b/src/blackboard.cpp index 0f1f304db..2202f1260 100644 --- a/src/blackboard.cpp +++ b/src/blackboard.cpp @@ -143,7 +143,7 @@ void Blackboard::createEntry(const std::string& key, const TypeInfo& info) { if(StartWith(key, '@')) { - rootBlackboard()->createEntryImpl(key.substr(1, key.size() - 1), info); + rootBlackboard()->createEntry(key.substr(1, key.size() - 1), info); } else { diff --git a/tests/gtest_blackboard.cpp b/tests/gtest_blackboard.cpp index fcbc272a3..ffe0e656a 100644 --- a/tests/gtest_blackboard.cpp +++ b/tests/gtest_blackboard.cpp @@ -654,3 +654,14 @@ TEST(BlackboardTest, TimestampedInterface) ASSERT_EQ(stamp_opt->seq, 2); ASSERT_GE(stamp_opt->time.count(), nsec_before); } + +TEST(BlackboardTest, EmptyKeyTest) +{ + auto bb = BT::Blackboard::create(); + bb->set("", 2); + ASSERT_EQ(bb->get(""), 2); + bb->set("@@", 3); + ASSERT_EQ(bb->get("@@"), 3); + ASSERT_EQ(bb->get("@"), 3); + ASSERT_EQ(bb->get(""), 3); +}