OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "dbus/values_util.h" | 5 #include "dbus/values_util.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/float_util.h" | 9 #include "base/float_util.h" |
10 #include "base/json/json_writer.h" | 10 #include "base/json/json_writer.h" |
(...skipping 25 matching lines...) Expand all Loading... |
36 const double kDoubleValue = 4.9; | 36 const double kDoubleValue = 4.9; |
37 writer.AppendDouble(kDoubleValue); | 37 writer.AppendDouble(kDoubleValue); |
38 const std::string kStringValue = "fifty"; | 38 const std::string kStringValue = "fifty"; |
39 writer.AppendString(kStringValue); | 39 writer.AppendString(kStringValue); |
40 const std::string kEmptyStringValue; | 40 const std::string kEmptyStringValue; |
41 writer.AppendString(kEmptyStringValue); | 41 writer.AppendString(kEmptyStringValue); |
42 const dbus::ObjectPath kObjectPathValue("/ObjectPath"); | 42 const dbus::ObjectPath kObjectPathValue("/ObjectPath"); |
43 writer.AppendObjectPath(kObjectPathValue); | 43 writer.AppendObjectPath(kObjectPathValue); |
44 | 44 |
45 dbus::MessageReader reader(response.get()); | 45 dbus::MessageReader reader(response.get()); |
46 scoped_ptr<Value> value; | 46 scoped_ptr<base::Value> value; |
47 scoped_ptr<Value> expected_value; | 47 scoped_ptr<base::Value> expected_value; |
48 // Pop a byte. | 48 // Pop a byte. |
49 value.reset(dbus::PopDataAsValue(&reader)); | 49 value.reset(dbus::PopDataAsValue(&reader)); |
50 ASSERT_TRUE(value.get() != NULL); | 50 ASSERT_TRUE(value.get() != NULL); |
51 expected_value.reset(Value::CreateIntegerValue(kByteValue)); | 51 expected_value.reset(new base::FundamentalValue(kByteValue)); |
52 EXPECT_TRUE(value->Equals(expected_value.get())); | 52 EXPECT_TRUE(value->Equals(expected_value.get())); |
53 // Pop a bool. | 53 // Pop a bool. |
54 value.reset(dbus::PopDataAsValue(&reader)); | 54 value.reset(dbus::PopDataAsValue(&reader)); |
55 ASSERT_TRUE(value.get() != NULL); | 55 ASSERT_TRUE(value.get() != NULL); |
56 expected_value.reset(Value::CreateBooleanValue(kBoolValue)); | 56 expected_value.reset(new base::FundamentalValue(kBoolValue)); |
57 EXPECT_TRUE(value->Equals(expected_value.get())); | 57 EXPECT_TRUE(value->Equals(expected_value.get())); |
58 // Pop an int16. | 58 // Pop an int16. |
59 value.reset(dbus::PopDataAsValue(&reader)); | 59 value.reset(dbus::PopDataAsValue(&reader)); |
60 ASSERT_TRUE(value.get() != NULL); | 60 ASSERT_TRUE(value.get() != NULL); |
61 expected_value.reset(Value::CreateIntegerValue(kInt16Value)); | 61 expected_value.reset(new base::FundamentalValue(kInt16Value)); |
62 EXPECT_TRUE(value->Equals(expected_value.get())); | 62 EXPECT_TRUE(value->Equals(expected_value.get())); |
63 // Pop a uint16. | 63 // Pop a uint16. |
64 value.reset(dbus::PopDataAsValue(&reader)); | 64 value.reset(dbus::PopDataAsValue(&reader)); |
65 ASSERT_TRUE(value.get() != NULL); | 65 ASSERT_TRUE(value.get() != NULL); |
66 expected_value.reset(Value::CreateIntegerValue(kUint16Value)); | 66 expected_value.reset(new base::FundamentalValue(kUint16Value)); |
67 EXPECT_TRUE(value->Equals(expected_value.get())); | 67 EXPECT_TRUE(value->Equals(expected_value.get())); |
68 // Pop an int32. | 68 // Pop an int32. |
69 value.reset(dbus::PopDataAsValue(&reader)); | 69 value.reset(dbus::PopDataAsValue(&reader)); |
70 ASSERT_TRUE(value.get() != NULL); | 70 ASSERT_TRUE(value.get() != NULL); |
71 expected_value.reset(Value::CreateIntegerValue(kInt32Value)); | 71 expected_value.reset(new base::FundamentalValue(kInt32Value)); |
72 EXPECT_TRUE(value->Equals(expected_value.get())); | 72 EXPECT_TRUE(value->Equals(expected_value.get())); |
73 // Pop a uint32. | 73 // Pop a uint32. |
74 value.reset(dbus::PopDataAsValue(&reader)); | 74 value.reset(dbus::PopDataAsValue(&reader)); |
75 ASSERT_TRUE(value.get() != NULL); | 75 ASSERT_TRUE(value.get() != NULL); |
76 expected_value.reset(Value::CreateDoubleValue(kUint32Value)); | 76 expected_value.reset( |
| 77 new base::FundamentalValue(static_cast<double>(kUint32Value))); |
77 EXPECT_TRUE(value->Equals(expected_value.get())); | 78 EXPECT_TRUE(value->Equals(expected_value.get())); |
78 // Pop an int64. | 79 // Pop an int64. |
79 value.reset(dbus::PopDataAsValue(&reader)); | 80 value.reset(dbus::PopDataAsValue(&reader)); |
80 ASSERT_TRUE(value.get() != NULL); | 81 ASSERT_TRUE(value.get() != NULL); |
81 expected_value.reset(Value::CreateDoubleValue(kInt64Value)); | 82 expected_value.reset( |
| 83 new base::FundamentalValue(static_cast<double>(kInt64Value))); |
82 EXPECT_TRUE(value->Equals(expected_value.get())); | 84 EXPECT_TRUE(value->Equals(expected_value.get())); |
83 // Pop a uint64. | 85 // Pop a uint64. |
84 value.reset(dbus::PopDataAsValue(&reader)); | 86 value.reset(dbus::PopDataAsValue(&reader)); |
85 ASSERT_TRUE(value.get() != NULL); | 87 ASSERT_TRUE(value.get() != NULL); |
86 expected_value.reset(Value::CreateDoubleValue(kUint64Value)); | 88 expected_value.reset( |
| 89 new base::FundamentalValue(static_cast<double>(kUint64Value))); |
87 EXPECT_TRUE(value->Equals(expected_value.get())); | 90 EXPECT_TRUE(value->Equals(expected_value.get())); |
88 // Pop a double. | 91 // Pop a double. |
89 value.reset(dbus::PopDataAsValue(&reader)); | 92 value.reset(dbus::PopDataAsValue(&reader)); |
90 ASSERT_TRUE(value.get() != NULL); | 93 ASSERT_TRUE(value.get() != NULL); |
91 expected_value.reset(Value::CreateDoubleValue(kDoubleValue)); | 94 expected_value.reset(new base::FundamentalValue(kDoubleValue)); |
92 EXPECT_TRUE(value->Equals(expected_value.get())); | 95 EXPECT_TRUE(value->Equals(expected_value.get())); |
93 // Pop a string. | 96 // Pop a string. |
94 value.reset(dbus::PopDataAsValue(&reader)); | 97 value.reset(dbus::PopDataAsValue(&reader)); |
95 ASSERT_TRUE(value.get() != NULL); | 98 ASSERT_TRUE(value.get() != NULL); |
96 expected_value.reset(Value::CreateStringValue(kStringValue)); | 99 expected_value.reset(new base::StringValue(kStringValue)); |
97 EXPECT_TRUE(value->Equals(expected_value.get())); | 100 EXPECT_TRUE(value->Equals(expected_value.get())); |
98 // Pop an empty string. | 101 // Pop an empty string. |
99 value.reset(dbus::PopDataAsValue(&reader)); | 102 value.reset(dbus::PopDataAsValue(&reader)); |
100 ASSERT_TRUE(value.get() != NULL); | 103 ASSERT_TRUE(value.get() != NULL); |
101 expected_value.reset(Value::CreateStringValue(kEmptyStringValue)); | 104 expected_value.reset(new base::StringValue(kEmptyStringValue)); |
102 EXPECT_TRUE(value->Equals(expected_value.get())); | 105 EXPECT_TRUE(value->Equals(expected_value.get())); |
103 // Pop an object path. | 106 // Pop an object path. |
104 value.reset(dbus::PopDataAsValue(&reader)); | 107 value.reset(dbus::PopDataAsValue(&reader)); |
105 ASSERT_TRUE(value.get() != NULL); | 108 ASSERT_TRUE(value.get() != NULL); |
106 expected_value.reset(Value::CreateStringValue( | 109 expected_value.reset(new base::StringValue(kObjectPathValue.value())); |
107 kObjectPathValue.value())); | |
108 EXPECT_TRUE(value->Equals(expected_value.get())); | 110 EXPECT_TRUE(value->Equals(expected_value.get())); |
109 } | 111 } |
110 | 112 |
111 TEST(ValuesUtilTest, PopVariant) { | 113 TEST(ValuesUtilTest, PopVariant) { |
112 scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty()); | 114 scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty()); |
113 // Append variant values. | 115 // Append variant values. |
114 dbus::MessageWriter writer(response.get()); | 116 dbus::MessageWriter writer(response.get()); |
115 const bool kBoolValue = true; | 117 const bool kBoolValue = true; |
116 writer.AppendVariantOfBool(kBoolValue); | 118 writer.AppendVariantOfBool(kBoolValue); |
117 const int32 kInt32Value = -45; | 119 const int32 kInt32Value = -45; |
118 writer.AppendVariantOfInt32(kInt32Value); | 120 writer.AppendVariantOfInt32(kInt32Value); |
119 const double kDoubleValue = 4.9; | 121 const double kDoubleValue = 4.9; |
120 writer.AppendVariantOfDouble(kDoubleValue); | 122 writer.AppendVariantOfDouble(kDoubleValue); |
121 const std::string kStringValue = "fifty"; | 123 const std::string kStringValue = "fifty"; |
122 writer.AppendVariantOfString(kStringValue); | 124 writer.AppendVariantOfString(kStringValue); |
123 | 125 |
124 dbus::MessageReader reader(response.get()); | 126 dbus::MessageReader reader(response.get()); |
125 scoped_ptr<Value> value; | 127 scoped_ptr<base::Value> value; |
126 scoped_ptr<Value> expected_value; | 128 scoped_ptr<base::Value> expected_value; |
127 // Pop a bool. | 129 // Pop a bool. |
128 value.reset(dbus::PopDataAsValue(&reader)); | 130 value.reset(dbus::PopDataAsValue(&reader)); |
129 ASSERT_TRUE(value.get() != NULL); | 131 ASSERT_TRUE(value.get() != NULL); |
130 expected_value.reset(Value::CreateBooleanValue(kBoolValue)); | 132 expected_value.reset(new base::FundamentalValue(kBoolValue)); |
131 EXPECT_TRUE(value->Equals(expected_value.get())); | 133 EXPECT_TRUE(value->Equals(expected_value.get())); |
132 // Pop an int32. | 134 // Pop an int32. |
133 value.reset(dbus::PopDataAsValue(&reader)); | 135 value.reset(dbus::PopDataAsValue(&reader)); |
134 ASSERT_TRUE(value.get() != NULL); | 136 ASSERT_TRUE(value.get() != NULL); |
135 expected_value.reset(Value::CreateIntegerValue(kInt32Value)); | 137 expected_value.reset(new base::FundamentalValue(kInt32Value)); |
136 EXPECT_TRUE(value->Equals(expected_value.get())); | 138 EXPECT_TRUE(value->Equals(expected_value.get())); |
137 // Pop a double. | 139 // Pop a double. |
138 value.reset(dbus::PopDataAsValue(&reader)); | 140 value.reset(dbus::PopDataAsValue(&reader)); |
139 ASSERT_TRUE(value.get() != NULL); | 141 ASSERT_TRUE(value.get() != NULL); |
140 expected_value.reset(Value::CreateDoubleValue(kDoubleValue)); | 142 expected_value.reset(new base::FundamentalValue(kDoubleValue)); |
141 EXPECT_TRUE(value->Equals(expected_value.get())); | 143 EXPECT_TRUE(value->Equals(expected_value.get())); |
142 // Pop a string. | 144 // Pop a string. |
143 value.reset(dbus::PopDataAsValue(&reader)); | 145 value.reset(dbus::PopDataAsValue(&reader)); |
144 ASSERT_TRUE(value.get() != NULL); | 146 ASSERT_TRUE(value.get() != NULL); |
145 expected_value.reset(Value::CreateStringValue(kStringValue)); | 147 expected_value.reset(new base::StringValue(kStringValue)); |
146 EXPECT_TRUE(value->Equals(expected_value.get())); | 148 EXPECT_TRUE(value->Equals(expected_value.get())); |
147 } | 149 } |
148 | 150 |
149 // Pop extremely large integers which cannot be precisely represented in | 151 // Pop extremely large integers which cannot be precisely represented in |
150 // double. | 152 // double. |
151 TEST(ValuesUtilTest, PopExtremelyLargeIntegers) { | 153 TEST(ValuesUtilTest, PopExtremelyLargeIntegers) { |
152 scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty()); | 154 scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty()); |
153 // Append large integers. | 155 // Append large integers. |
154 dbus::MessageWriter writer(response.get()); | 156 dbus::MessageWriter writer(response.get()); |
155 const int64 kInt64Value = -123456789012345689LL; | 157 const int64 kInt64Value = -123456789012345689LL; |
156 writer.AppendInt64(kInt64Value); | 158 writer.AppendInt64(kInt64Value); |
157 const uint64 kUint64Value = 9876543210987654321ULL; | 159 const uint64 kUint64Value = 9876543210987654321ULL; |
158 writer.AppendUint64(kUint64Value); | 160 writer.AppendUint64(kUint64Value); |
159 | 161 |
160 dbus::MessageReader reader(response.get()); | 162 dbus::MessageReader reader(response.get()); |
161 scoped_ptr<Value> value; | 163 scoped_ptr<base::Value> value; |
162 scoped_ptr<Value> expected_value; | 164 scoped_ptr<base::Value> expected_value; |
163 double double_value = 0; | 165 double double_value = 0; |
164 // Pop an int64. | 166 // Pop an int64. |
165 value.reset(dbus::PopDataAsValue(&reader)); | 167 value.reset(dbus::PopDataAsValue(&reader)); |
166 ASSERT_TRUE(value.get() != NULL); | 168 ASSERT_TRUE(value.get() != NULL); |
167 expected_value.reset(Value::CreateDoubleValue(kInt64Value)); | 169 expected_value.reset( |
| 170 new base::FundamentalValue(static_cast<double>(kInt64Value))); |
168 EXPECT_TRUE(value->Equals(expected_value.get())); | 171 EXPECT_TRUE(value->Equals(expected_value.get())); |
169 ASSERT_TRUE(value->GetAsDouble(&double_value)); | 172 ASSERT_TRUE(value->GetAsDouble(&double_value)); |
170 EXPECT_NE(kInt64Value, static_cast<int64>(double_value)); | 173 EXPECT_NE(kInt64Value, static_cast<int64>(double_value)); |
171 // Pop a uint64. | 174 // Pop a uint64. |
172 value.reset(dbus::PopDataAsValue(&reader)); | 175 value.reset(dbus::PopDataAsValue(&reader)); |
173 ASSERT_TRUE(value.get() != NULL); | 176 ASSERT_TRUE(value.get() != NULL); |
174 expected_value.reset(Value::CreateDoubleValue(kUint64Value)); | 177 expected_value.reset( |
| 178 new base::FundamentalValue(static_cast<double>(kUint64Value))); |
175 EXPECT_TRUE(value->Equals(expected_value.get())); | 179 EXPECT_TRUE(value->Equals(expected_value.get())); |
176 ASSERT_TRUE(value->GetAsDouble(&double_value)); | 180 ASSERT_TRUE(value->GetAsDouble(&double_value)); |
177 EXPECT_NE(kUint64Value, static_cast<uint64>(double_value)); | 181 EXPECT_NE(kUint64Value, static_cast<uint64>(double_value)); |
178 } | 182 } |
179 | 183 |
180 TEST(ValuesUtilTest, PopIntArray) { | 184 TEST(ValuesUtilTest, PopIntArray) { |
181 scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty()); | 185 scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty()); |
182 // Append an int32 array. | 186 // Append an int32 array. |
183 dbus::MessageWriter writer(response.get()); | 187 dbus::MessageWriter writer(response.get()); |
184 dbus::MessageWriter sub_writer(NULL); | 188 dbus::MessageWriter sub_writer(NULL); |
185 std::vector<int32> data; | 189 std::vector<int32> data; |
186 data.push_back(0); | 190 data.push_back(0); |
187 data.push_back(1); | 191 data.push_back(1); |
188 data.push_back(2); | 192 data.push_back(2); |
189 writer.OpenArray("i", &sub_writer); | 193 writer.OpenArray("i", &sub_writer); |
190 for (size_t i = 0; i != data.size(); ++i) | 194 for (size_t i = 0; i != data.size(); ++i) |
191 sub_writer.AppendInt32(data[i]); | 195 sub_writer.AppendInt32(data[i]); |
192 writer.CloseContainer(&sub_writer); | 196 writer.CloseContainer(&sub_writer); |
193 | 197 |
194 // Create the expected value. | 198 // Create the expected value. |
195 scoped_ptr<ListValue> list_value(new ListValue); | 199 scoped_ptr<base::ListValue> list_value(new base::ListValue); |
196 for (size_t i = 0; i != data.size(); ++i) | 200 for (size_t i = 0; i != data.size(); ++i) |
197 list_value->Append(Value::CreateIntegerValue(data[i])); | 201 list_value->Append(new base::FundamentalValue(data[i])); |
198 | 202 |
199 // Pop an int32 array. | 203 // Pop an int32 array. |
200 dbus::MessageReader reader(response.get()); | 204 dbus::MessageReader reader(response.get()); |
201 scoped_ptr<Value> value(dbus::PopDataAsValue(&reader)); | 205 scoped_ptr<base::Value> value(dbus::PopDataAsValue(&reader)); |
202 ASSERT_TRUE(value.get() != NULL); | 206 ASSERT_TRUE(value.get() != NULL); |
203 EXPECT_TRUE(value->Equals(list_value.get())); | 207 EXPECT_TRUE(value->Equals(list_value.get())); |
204 } | 208 } |
205 | 209 |
206 TEST(ValuesUtilTest, PopStringArray) { | 210 TEST(ValuesUtilTest, PopStringArray) { |
207 scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty()); | 211 scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty()); |
208 // Append a string array. | 212 // Append a string array. |
209 dbus::MessageWriter writer(response.get()); | 213 dbus::MessageWriter writer(response.get()); |
210 dbus::MessageWriter sub_writer(NULL); | 214 dbus::MessageWriter sub_writer(NULL); |
211 std::vector<std::string> data; | 215 std::vector<std::string> data; |
212 data.push_back("Dreamlifter"); | 216 data.push_back("Dreamlifter"); |
213 data.push_back("Beluga"); | 217 data.push_back("Beluga"); |
214 data.push_back("Mriya"); | 218 data.push_back("Mriya"); |
215 writer.AppendArrayOfStrings(data); | 219 writer.AppendArrayOfStrings(data); |
216 | 220 |
217 // Create the expected value. | 221 // Create the expected value. |
218 scoped_ptr<ListValue> list_value(new ListValue); | 222 scoped_ptr<base::ListValue> list_value(new base::ListValue); |
219 for (size_t i = 0; i != data.size(); ++i) | 223 for (size_t i = 0; i != data.size(); ++i) |
220 list_value->Append(Value::CreateStringValue(data[i])); | 224 list_value->Append(new base::StringValue(data[i])); |
221 | 225 |
222 // Pop a string array. | 226 // Pop a string array. |
223 dbus::MessageReader reader(response.get()); | 227 dbus::MessageReader reader(response.get()); |
224 scoped_ptr<Value> value(dbus::PopDataAsValue(&reader)); | 228 scoped_ptr<base::Value> value(dbus::PopDataAsValue(&reader)); |
225 ASSERT_TRUE(value.get() != NULL); | 229 ASSERT_TRUE(value.get() != NULL); |
226 EXPECT_TRUE(value->Equals(list_value.get())); | 230 EXPECT_TRUE(value->Equals(list_value.get())); |
227 } | 231 } |
228 | 232 |
229 TEST(ValuesUtilTest, PopStruct) { | 233 TEST(ValuesUtilTest, PopStruct) { |
230 scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty()); | 234 scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty()); |
231 // Append a struct. | 235 // Append a struct. |
232 dbus::MessageWriter writer(response.get()); | 236 dbus::MessageWriter writer(response.get()); |
233 dbus::MessageWriter sub_writer(NULL); | 237 dbus::MessageWriter sub_writer(NULL); |
234 writer.OpenStruct(&sub_writer); | 238 writer.OpenStruct(&sub_writer); |
235 const bool kBoolValue = true; | 239 const bool kBoolValue = true; |
236 sub_writer.AppendBool(kBoolValue); | 240 sub_writer.AppendBool(kBoolValue); |
237 const int32 kInt32Value = -123; | 241 const int32 kInt32Value = -123; |
238 sub_writer.AppendInt32(kInt32Value); | 242 sub_writer.AppendInt32(kInt32Value); |
239 const double kDoubleValue = 1.23; | 243 const double kDoubleValue = 1.23; |
240 sub_writer.AppendDouble(kDoubleValue); | 244 sub_writer.AppendDouble(kDoubleValue); |
241 const std::string kStringValue = "one two three"; | 245 const std::string kStringValue = "one two three"; |
242 sub_writer.AppendString(kStringValue); | 246 sub_writer.AppendString(kStringValue); |
243 writer.CloseContainer(&sub_writer); | 247 writer.CloseContainer(&sub_writer); |
244 | 248 |
245 // Create the expected value. | 249 // Create the expected value. |
246 ListValue list_value; | 250 base::ListValue list_value; |
247 list_value.Append(Value::CreateBooleanValue(kBoolValue)); | 251 list_value.Append(new base::FundamentalValue(kBoolValue)); |
248 list_value.Append(Value::CreateIntegerValue(kInt32Value)); | 252 list_value.Append(new base::FundamentalValue(kInt32Value)); |
249 list_value.Append(Value::CreateDoubleValue(kDoubleValue)); | 253 list_value.Append(new base::FundamentalValue(kDoubleValue)); |
250 list_value.Append(Value::CreateStringValue(kStringValue)); | 254 list_value.Append(new base::StringValue(kStringValue)); |
251 | 255 |
252 // Pop a struct. | 256 // Pop a struct. |
253 dbus::MessageReader reader(response.get()); | 257 dbus::MessageReader reader(response.get()); |
254 scoped_ptr<Value> value(dbus::PopDataAsValue(&reader)); | 258 scoped_ptr<base::Value> value(dbus::PopDataAsValue(&reader)); |
255 ASSERT_TRUE(value.get() != NULL); | 259 ASSERT_TRUE(value.get() != NULL); |
256 EXPECT_TRUE(value->Equals(&list_value)); | 260 EXPECT_TRUE(value->Equals(&list_value)); |
257 } | 261 } |
258 | 262 |
259 TEST(ValuesUtilTest, PopStringToVariantDictionary) { | 263 TEST(ValuesUtilTest, PopStringToVariantDictionary) { |
260 scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty()); | 264 scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty()); |
261 // Append a dictionary. | 265 // Append a dictionary. |
262 dbus::MessageWriter writer(response.get()); | 266 dbus::MessageWriter writer(response.get()); |
263 dbus::MessageWriter sub_writer(NULL); | 267 dbus::MessageWriter sub_writer(NULL); |
264 dbus::MessageWriter entry_writer(NULL); | 268 dbus::MessageWriter entry_writer(NULL); |
(...skipping 18 matching lines...) Expand all Loading... |
283 sub_writer.CloseContainer(&entry_writer); | 287 sub_writer.CloseContainer(&entry_writer); |
284 sub_writer.OpenDictEntry(&entry_writer); | 288 sub_writer.OpenDictEntry(&entry_writer); |
285 const std::string kKey4 = "four"; | 289 const std::string kKey4 = "four"; |
286 entry_writer.AppendString(kKey4); | 290 entry_writer.AppendString(kKey4); |
287 const std::string kStringValue = "fifty"; | 291 const std::string kStringValue = "fifty"; |
288 entry_writer.AppendVariantOfString(kStringValue); | 292 entry_writer.AppendVariantOfString(kStringValue); |
289 sub_writer.CloseContainer(&entry_writer); | 293 sub_writer.CloseContainer(&entry_writer); |
290 writer.CloseContainer(&sub_writer); | 294 writer.CloseContainer(&sub_writer); |
291 | 295 |
292 // Create the expected value. | 296 // Create the expected value. |
293 DictionaryValue dictionary_value; | 297 base::DictionaryValue dictionary_value; |
294 dictionary_value.SetBoolean(kKey1, kBoolValue); | 298 dictionary_value.SetBoolean(kKey1, kBoolValue); |
295 dictionary_value.SetInteger(kKey2, kInt32Value); | 299 dictionary_value.SetInteger(kKey2, kInt32Value); |
296 dictionary_value.SetDouble(kKey3, kDoubleValue); | 300 dictionary_value.SetDouble(kKey3, kDoubleValue); |
297 dictionary_value.SetString(kKey4, kStringValue); | 301 dictionary_value.SetString(kKey4, kStringValue); |
298 | 302 |
299 // Pop a dictinoary. | 303 // Pop a dictinoary. |
300 dbus::MessageReader reader(response.get()); | 304 dbus::MessageReader reader(response.get()); |
301 scoped_ptr<Value> value(dbus::PopDataAsValue(&reader)); | 305 scoped_ptr<base::Value> value(dbus::PopDataAsValue(&reader)); |
302 ASSERT_TRUE(value.get() != NULL); | 306 ASSERT_TRUE(value.get() != NULL); |
303 EXPECT_TRUE(value->Equals(&dictionary_value)); | 307 EXPECT_TRUE(value->Equals(&dictionary_value)); |
304 } | 308 } |
305 | 309 |
306 TEST(ValuesUtilTest, PopDictionaryWithDottedStringKey) { | 310 TEST(ValuesUtilTest, PopDictionaryWithDottedStringKey) { |
307 scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty()); | 311 scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty()); |
308 // Append a dictionary. | 312 // Append a dictionary. |
309 dbus::MessageWriter writer(response.get()); | 313 dbus::MessageWriter writer(response.get()); |
310 dbus::MessageWriter sub_writer(NULL); | 314 dbus::MessageWriter sub_writer(NULL); |
311 dbus::MessageWriter entry_writer(NULL); | 315 dbus::MessageWriter entry_writer(NULL); |
(...skipping 12 matching lines...) Expand all Loading... |
324 sub_writer.CloseContainer(&entry_writer); | 328 sub_writer.CloseContainer(&entry_writer); |
325 sub_writer.OpenDictEntry(&entry_writer); | 329 sub_writer.OpenDictEntry(&entry_writer); |
326 const std::string kKey3 = "example."; // String ending with a dot. | 330 const std::string kKey3 = "example."; // String ending with a dot. |
327 entry_writer.AppendString(kKey3); | 331 entry_writer.AppendString(kKey3); |
328 const double kDoubleValue = 4.9; | 332 const double kDoubleValue = 4.9; |
329 entry_writer.AppendVariantOfDouble(kDoubleValue); | 333 entry_writer.AppendVariantOfDouble(kDoubleValue); |
330 sub_writer.CloseContainer(&entry_writer); | 334 sub_writer.CloseContainer(&entry_writer); |
331 writer.CloseContainer(&sub_writer); | 335 writer.CloseContainer(&sub_writer); |
332 | 336 |
333 // Create the expected value. | 337 // Create the expected value. |
334 DictionaryValue dictionary_value; | 338 base::DictionaryValue dictionary_value; |
335 dictionary_value.SetWithoutPathExpansion( | 339 dictionary_value.SetWithoutPathExpansion( |
336 kKey1, Value::CreateBooleanValue(kBoolValue)); | 340 kKey1, new base::FundamentalValue(kBoolValue)); |
337 dictionary_value.SetWithoutPathExpansion( | 341 dictionary_value.SetWithoutPathExpansion( |
338 kKey2, Value::CreateIntegerValue(kInt32Value)); | 342 kKey2, new base::FundamentalValue(kInt32Value)); |
339 dictionary_value.SetWithoutPathExpansion( | 343 dictionary_value.SetWithoutPathExpansion( |
340 kKey3, Value::CreateDoubleValue(kDoubleValue)); | 344 kKey3, new base::FundamentalValue(kDoubleValue)); |
341 | 345 |
342 // Pop a dictinoary. | 346 // Pop a dictinoary. |
343 dbus::MessageReader reader(response.get()); | 347 dbus::MessageReader reader(response.get()); |
344 scoped_ptr<Value> value(dbus::PopDataAsValue(&reader)); | 348 scoped_ptr<base::Value> value(dbus::PopDataAsValue(&reader)); |
345 ASSERT_TRUE(value.get() != NULL); | 349 ASSERT_TRUE(value.get() != NULL); |
346 EXPECT_TRUE(value->Equals(&dictionary_value)); | 350 EXPECT_TRUE(value->Equals(&dictionary_value)); |
347 } | 351 } |
348 | 352 |
349 TEST(ValuesUtilTest, PopDoubleToIntDictionary) { | 353 TEST(ValuesUtilTest, PopDoubleToIntDictionary) { |
350 // Create test data. | 354 // Create test data. |
351 const int32 kValues[] = {0, 1, 1, 2, 3, 5, 8, 13, 21}; | 355 const int32 kValues[] = {0, 1, 1, 2, 3, 5, 8, 13, 21}; |
352 const std::vector<int32> values(kValues, kValues + arraysize(kValues)); | 356 const std::vector<int32> values(kValues, kValues + arraysize(kValues)); |
353 std::vector<double> keys(values.size()); | 357 std::vector<double> keys(values.size()); |
354 for (size_t i = 0; i != values.size(); ++i) | 358 for (size_t i = 0; i != values.size(); ++i) |
355 keys[i] = sqrt(values[i]); | 359 keys[i] = sqrt(values[i]); |
356 | 360 |
357 // Append a dictionary. | 361 // Append a dictionary. |
358 scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty()); | 362 scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty()); |
359 dbus::MessageWriter writer(response.get()); | 363 dbus::MessageWriter writer(response.get()); |
360 dbus::MessageWriter sub_writer(NULL); | 364 dbus::MessageWriter sub_writer(NULL); |
361 writer.OpenArray("{di}", &sub_writer); | 365 writer.OpenArray("{di}", &sub_writer); |
362 for (size_t i = 0; i != values.size(); ++i) { | 366 for (size_t i = 0; i != values.size(); ++i) { |
363 dbus::MessageWriter entry_writer(NULL); | 367 dbus::MessageWriter entry_writer(NULL); |
364 sub_writer.OpenDictEntry(&entry_writer); | 368 sub_writer.OpenDictEntry(&entry_writer); |
365 entry_writer.AppendDouble(keys[i]); | 369 entry_writer.AppendDouble(keys[i]); |
366 entry_writer.AppendInt32(values[i]); | 370 entry_writer.AppendInt32(values[i]); |
367 sub_writer.CloseContainer(&entry_writer); | 371 sub_writer.CloseContainer(&entry_writer); |
368 } | 372 } |
369 writer.CloseContainer(&sub_writer); | 373 writer.CloseContainer(&sub_writer); |
370 | 374 |
371 // Create the expected value. | 375 // Create the expected value. |
372 DictionaryValue dictionary_value; | 376 base::DictionaryValue dictionary_value; |
373 for (size_t i = 0; i != values.size(); ++i) { | 377 for (size_t i = 0; i != values.size(); ++i) { |
374 scoped_ptr<Value> key_value(Value::CreateDoubleValue(keys[i])); | 378 scoped_ptr<base::Value> key_value(new base::FundamentalValue(keys[i])); |
375 std::string key_string; | 379 std::string key_string; |
376 base::JSONWriter::Write(key_value.get(), &key_string); | 380 base::JSONWriter::Write(key_value.get(), &key_string); |
377 dictionary_value.SetWithoutPathExpansion( | 381 dictionary_value.SetWithoutPathExpansion( |
378 key_string, Value::CreateIntegerValue(values[i])); | 382 key_string, new base::FundamentalValue(values[i])); |
379 } | 383 } |
380 | 384 |
381 // Pop a dictionary. | 385 // Pop a dictionary. |
382 dbus::MessageReader reader(response.get()); | 386 dbus::MessageReader reader(response.get()); |
383 scoped_ptr<Value> value(dbus::PopDataAsValue(&reader)); | 387 scoped_ptr<base::Value> value(dbus::PopDataAsValue(&reader)); |
384 ASSERT_TRUE(value.get() != NULL); | 388 ASSERT_TRUE(value.get() != NULL); |
385 EXPECT_TRUE(value->Equals(&dictionary_value)); | 389 EXPECT_TRUE(value->Equals(&dictionary_value)); |
386 } | 390 } |
387 | 391 |
388 TEST(ValuesUtilTest, AppendBasicTypes) { | 392 TEST(ValuesUtilTest, AppendBasicTypes) { |
389 const base::FundamentalValue kBoolValue(false); | 393 const base::FundamentalValue kBoolValue(false); |
390 const base::FundamentalValue kIntegerValue(42); | 394 const base::FundamentalValue kIntegerValue(42); |
391 const base::FundamentalValue kDoubleValue(4.2); | 395 const base::FundamentalValue kDoubleValue(4.2); |
392 const base::StringValue kStringValue("string"); | 396 const base::StringValue kStringValue("string"); |
393 | 397 |
394 scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty()); | 398 scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty()); |
395 dbus::MessageWriter writer(response.get()); | 399 dbus::MessageWriter writer(response.get()); |
396 AppendBasicTypeValueData(&writer, kBoolValue); | 400 AppendBasicTypeValueData(&writer, kBoolValue); |
397 AppendBasicTypeValueData(&writer, kIntegerValue); | 401 AppendBasicTypeValueData(&writer, kIntegerValue); |
398 AppendBasicTypeValueData(&writer, kDoubleValue); | 402 AppendBasicTypeValueData(&writer, kDoubleValue); |
399 AppendBasicTypeValueData(&writer, kStringValue); | 403 AppendBasicTypeValueData(&writer, kStringValue); |
400 | 404 |
401 dbus::MessageReader reader(response.get()); | 405 dbus::MessageReader reader(response.get()); |
402 scoped_ptr<Value> value; | 406 scoped_ptr<base::Value> value; |
403 value.reset(dbus::PopDataAsValue(&reader)); | 407 value.reset(dbus::PopDataAsValue(&reader)); |
404 ASSERT_TRUE(value.get() != NULL); | 408 ASSERT_TRUE(value.get() != NULL); |
405 EXPECT_TRUE(value->Equals(&kBoolValue)); | 409 EXPECT_TRUE(value->Equals(&kBoolValue)); |
406 value.reset(dbus::PopDataAsValue(&reader)); | 410 value.reset(dbus::PopDataAsValue(&reader)); |
407 ASSERT_TRUE(value.get() != NULL); | 411 ASSERT_TRUE(value.get() != NULL); |
408 EXPECT_TRUE(value->Equals(&kIntegerValue)); | 412 EXPECT_TRUE(value->Equals(&kIntegerValue)); |
409 value.reset(dbus::PopDataAsValue(&reader)); | 413 value.reset(dbus::PopDataAsValue(&reader)); |
410 ASSERT_TRUE(value.get() != NULL); | 414 ASSERT_TRUE(value.get() != NULL); |
411 EXPECT_TRUE(value->Equals(&kDoubleValue)); | 415 EXPECT_TRUE(value->Equals(&kDoubleValue)); |
412 value.reset(dbus::PopDataAsValue(&reader)); | 416 value.reset(dbus::PopDataAsValue(&reader)); |
413 ASSERT_TRUE(value.get() != NULL); | 417 ASSERT_TRUE(value.get() != NULL); |
414 EXPECT_TRUE(value->Equals(&kStringValue)); | 418 EXPECT_TRUE(value->Equals(&kStringValue)); |
415 } | 419 } |
416 | 420 |
417 TEST(ValuesUtilTest, AppendBasicTypesAsVariant) { | 421 TEST(ValuesUtilTest, AppendBasicTypesAsVariant) { |
418 const base::FundamentalValue kBoolValue(false); | 422 const base::FundamentalValue kBoolValue(false); |
419 const base::FundamentalValue kIntegerValue(42); | 423 const base::FundamentalValue kIntegerValue(42); |
420 const base::FundamentalValue kDoubleValue(4.2); | 424 const base::FundamentalValue kDoubleValue(4.2); |
421 const base::StringValue kStringValue("string"); | 425 const base::StringValue kStringValue("string"); |
422 | 426 |
423 scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty()); | 427 scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty()); |
424 dbus::MessageWriter writer(response.get()); | 428 dbus::MessageWriter writer(response.get()); |
425 AppendBasicTypeValueDataAsVariant(&writer, kBoolValue); | 429 AppendBasicTypeValueDataAsVariant(&writer, kBoolValue); |
426 AppendBasicTypeValueDataAsVariant(&writer, kIntegerValue); | 430 AppendBasicTypeValueDataAsVariant(&writer, kIntegerValue); |
427 AppendBasicTypeValueDataAsVariant(&writer, kDoubleValue); | 431 AppendBasicTypeValueDataAsVariant(&writer, kDoubleValue); |
428 AppendBasicTypeValueDataAsVariant(&writer, kStringValue); | 432 AppendBasicTypeValueDataAsVariant(&writer, kStringValue); |
429 | 433 |
430 dbus::MessageReader reader(response.get()); | 434 dbus::MessageReader reader(response.get()); |
431 scoped_ptr<Value> value; | 435 scoped_ptr<base::Value> value; |
432 value.reset(dbus::PopDataAsValue(&reader)); | 436 value.reset(dbus::PopDataAsValue(&reader)); |
433 ASSERT_TRUE(value.get() != NULL); | 437 ASSERT_TRUE(value.get() != NULL); |
434 EXPECT_TRUE(value->Equals(&kBoolValue)); | 438 EXPECT_TRUE(value->Equals(&kBoolValue)); |
435 value.reset(dbus::PopDataAsValue(&reader)); | 439 value.reset(dbus::PopDataAsValue(&reader)); |
436 ASSERT_TRUE(value.get() != NULL); | 440 ASSERT_TRUE(value.get() != NULL); |
437 EXPECT_TRUE(value->Equals(&kIntegerValue)); | 441 EXPECT_TRUE(value->Equals(&kIntegerValue)); |
438 value.reset(dbus::PopDataAsValue(&reader)); | 442 value.reset(dbus::PopDataAsValue(&reader)); |
439 ASSERT_TRUE(value.get() != NULL); | 443 ASSERT_TRUE(value.get() != NULL); |
440 EXPECT_TRUE(value->Equals(&kDoubleValue)); | 444 EXPECT_TRUE(value->Equals(&kDoubleValue)); |
441 value.reset(dbus::PopDataAsValue(&reader)); | 445 value.reset(dbus::PopDataAsValue(&reader)); |
442 ASSERT_TRUE(value.get() != NULL); | 446 ASSERT_TRUE(value.get() != NULL); |
443 EXPECT_TRUE(value->Equals(&kStringValue)); | 447 EXPECT_TRUE(value->Equals(&kStringValue)); |
444 } | 448 } |
OLD | NEW |