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"); +} _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits