[Lldb-commits] [lldb] e62fc14 - [lldb-dap] Add unit tests for GetStrings
Jonas Devlieghere via lldb-commits
lldb-commits at lists.llvm.org
Sun May 11 16:33:30 PDT 2025
Author: Jonas Devlieghere
Date: 2025-05-11T16:32:43-07:00
New Revision: e62fc14a5d214f801758b35bdcad0c8efc65e8b8
URL: https://github.com/llvm/llvm-project/commit/e62fc14a5d214f801758b35bdcad0c8efc65e8b8
DIFF: https://github.com/llvm/llvm-project/commit/e62fc14a5d214f801758b35bdcad0c8efc65e8b8.diff
LOG: [lldb-dap] Add unit tests for GetStrings
Added:
Modified:
lldb/unittests/DAP/JSONUtilsTest.cpp
Removed:
################################################################################
diff --git a/lldb/unittests/DAP/JSONUtilsTest.cpp b/lldb/unittests/DAP/JSONUtilsTest.cpp
index 648aef106caa6..ce4be085965d5 100644
--- a/lldb/unittests/DAP/JSONUtilsTest.cpp
+++ b/lldb/unittests/DAP/JSONUtilsTest.cpp
@@ -149,3 +149,47 @@ TEST(JSONUtilsTest, CreateModule) {
ASSERT_NE(object, nullptr);
EXPECT_EQ(object->size(), 0UL);
}
+
+TEST(JSONUtilsTest, GetStrings_EmptyArray) {
+ llvm::json::Object obj;
+ obj.try_emplace("key", llvm::json::Array());
+ auto result = GetStrings(&obj, "key");
+ EXPECT_TRUE(result.empty());
+}
+
+TEST(JSONUtilsTest, GetStrings_NullKey) {
+ llvm::json::Object obj;
+ auto result = GetStrings(&obj, "nonexistent_key");
+ EXPECT_TRUE(result.empty());
+}
+
+TEST(JSONUtilsTest, GetStrings_StringValues) {
+ llvm::json::Object obj;
+ llvm::json::Array arr{"value1", "value2", "value3"};
+ obj.try_emplace("key", std::move(arr));
+ auto result = GetStrings(&obj, "key");
+ ASSERT_EQ(result.size(), 3UL);
+ EXPECT_EQ(result[0], "value1");
+ EXPECT_EQ(result[1], "value2");
+ EXPECT_EQ(result[2], "value3");
+}
+
+TEST(JSONUtilsTest, GetStrings_MixedValues) {
+ llvm::json::Object obj;
+ llvm::json::Array arr{"string", 42, true, nullptr};
+ obj.try_emplace("key", std::move(arr));
+ auto result = GetStrings(&obj, "key");
+ ASSERT_EQ(result.size(), 3UL);
+ EXPECT_EQ(result[0], "string");
+ EXPECT_EQ(result[1], "42");
+ EXPECT_EQ(result[2], "true");
+}
+
+TEST(JSONUtilsTest, GetStrings_NestedArray) {
+ llvm::json::Object obj;
+ llvm::json::Array nested_array{"string", llvm::json::Array{"nested"}};
+ obj.try_emplace("key", std::move(nested_array));
+ auto result = GetStrings(&obj, "key");
+ ASSERT_EQ(result.size(), 1UL);
+ EXPECT_EQ(result[0], "string");
+}
More information about the lldb-commits
mailing list