67
67
g_variant_ref_sink (gv);
68
68
Variant v (gv, StealRef());
70
EXPECT_TRUE(IsVariant(v));
70
ASSERT_TRUE(IsVariant(v));
71
71
EXPECT_FALSE(IsFloating(v));
76
76
Variant v1 (g_variant_new_string ("bar"));
79
EXPECT_TRUE(IsVariant(v1));
80
EXPECT_TRUE(IsVariant(v2));
79
ASSERT_TRUE(IsVariant(v1));
80
ASSERT_TRUE(IsVariant(v2));
81
81
EXPECT_FALSE(IsFloating(v1));
82
82
EXPECT_FALSE(IsFloating(v2));
83
83
EXPECT_TRUE(IsSameVariant(v1, v2));
84
84
EXPECT_TRUE(ValuesEqual(v1, v2));
87
TEST(TestGLibVariant, Assign)
90
GVariant *raw_variant = g_variant_new_string("bar");
93
ASSERT_TRUE(IsVariant(v));
94
EXPECT_FALSE(IsFloating(v));
95
EXPECT_TRUE(IsSameVariant(v, raw_variant));
96
EXPECT_TRUE(ValuesEqual(v, raw_variant));
99
TEST(TestGLibVariant, AssignSame)
101
GVariant *raw_variant = g_variant_new_string("bar");
102
Variant v(raw_variant);
105
ASSERT_TRUE(IsVariant(v));
106
EXPECT_FALSE(IsFloating(v));
107
EXPECT_TRUE(IsSameVariant(v, raw_variant));
108
EXPECT_TRUE(ValuesEqual(v, raw_variant));
87
111
TEST(TestGLibVariant, KeepsRef)
89
113
GVariant *gv = g_variant_new_int32 (456);
94
EXPECT_TRUE(IsVariant(v));
118
ASSERT_TRUE(IsVariant(v));
95
119
EXPECT_FALSE(IsFloating(v));
97
121
g_variant_unref (gv);
99
EXPECT_TRUE(IsVariant(v));
123
ASSERT_TRUE(IsVariant(v));
100
124
EXPECT_FALSE(IsFloating(v));
101
125
EXPECT_EQ(v.GetInt32(), 456);
106
130
Variant v (g_variant_new_int32 (123));
108
EXPECT_TRUE(IsVariant(v));
132
ASSERT_TRUE(IsVariant(v));
109
133
EXPECT_FALSE(IsFloating(v));
110
134
EXPECT_EQ(v.GetInt32(), 123);
132
156
GVariant *dict_variant = g_variant_builder_end (&b);
133
157
Variant dict (g_variant_new_tuple (&dict_variant, 1));
135
EXPECT_TRUE(IsVariant(dict));
159
ASSERT_TRUE(IsVariant(dict));
136
160
EXPECT_FALSE(IsFloating(dict));
151
175
// throw away all references to the original variant
152
176
dict = g_variant_new_string ("bar");
153
EXPECT_TRUE(IsVariant(dict));
177
ASSERT_TRUE(IsVariant(dict));
154
178
EXPECT_FALSE(IsFloating(dict));
155
179
EXPECT_EQ(dict.GetString(), "bar");