@@ -16,9 +16,72 @@ using namespace lldb;
16
16
using namespace lldb_dap ;
17
17
18
18
TEST (JSONUtilsTest, GetAsString) {
19
- StringRef str = " foo" ;
20
- json::Value value (" foo" );
21
- EXPECT_EQ (str, GetAsString (value));
19
+ json::Value string_value (" foo" );
20
+ EXPECT_EQ (GetAsString (string_value), " foo" );
21
+
22
+ json::Value int_value (42 );
23
+ EXPECT_EQ (GetAsString (int_value), " " );
24
+
25
+ json::Value null_value (nullptr );
26
+ EXPECT_EQ (GetAsString (null_value), " " );
27
+ }
28
+
29
+ TEST (JSONUtilsTest, GetString_Ref) {
30
+ json::Object obj;
31
+ obj.try_emplace (" key" , " value" );
32
+
33
+ auto result = GetString (obj, " key" );
34
+ ASSERT_TRUE (result.has_value ());
35
+ EXPECT_EQ (result.value (), " value" );
36
+
37
+ result = GetString (obj, " nonexistent_key" );
38
+ EXPECT_FALSE (result.has_value ());
39
+ }
40
+
41
+ TEST (JSONUtilsTest, GetString_Pointer) {
42
+ json::Object obj;
43
+ obj.try_emplace (" key" , " value" );
44
+
45
+ auto result = GetString (&obj, " key" );
46
+ ASSERT_TRUE (result.has_value ());
47
+ EXPECT_EQ (result.value (), " value" );
48
+
49
+ result = GetString (nullptr , " key" );
50
+ EXPECT_FALSE (result.has_value ());
51
+ }
52
+
53
+ TEST (JSONUtilsTest, GetBoolean_Ref) {
54
+ json::Object obj;
55
+ obj.try_emplace (" key_true" , true );
56
+ obj.try_emplace (" key_false" , false );
57
+ obj.try_emplace (" key_int" , 1 );
58
+
59
+ auto result = GetBoolean (obj, " key_true" );
60
+ ASSERT_TRUE (result.has_value ());
61
+ EXPECT_TRUE (result.value ());
62
+
63
+ result = GetBoolean (obj, " key_false" );
64
+ ASSERT_TRUE (result.has_value ());
65
+ EXPECT_FALSE (result.value ());
66
+
67
+ result = GetBoolean (obj, " key_int" );
68
+ ASSERT_TRUE (result.has_value ());
69
+ EXPECT_TRUE (result.value ());
70
+
71
+ result = GetBoolean (obj, " nonexistent_key" );
72
+ EXPECT_FALSE (result.has_value ());
73
+ }
74
+
75
+ TEST (JSONUtilsTest, GetBoolean_Pointer) {
76
+ json::Object obj;
77
+ obj.try_emplace (" key" , true );
78
+
79
+ auto result = GetBoolean (&obj, " key" );
80
+ ASSERT_TRUE (result.has_value ());
81
+ EXPECT_TRUE (result.value ());
82
+
83
+ result = GetBoolean (nullptr , " key" );
84
+ EXPECT_FALSE (result.has_value ());
22
85
}
23
86
24
87
TEST (JSONUtilsTest, CreateModule) {
0 commit comments