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 <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <cmath> | 10 #include <cmath> |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
93 expected_value.reset(new base::Value(static_cast<double>(kUint64Value))); | 93 expected_value.reset(new base::Value(static_cast<double>(kUint64Value))); |
94 EXPECT_TRUE(value->Equals(expected_value.get())); | 94 EXPECT_TRUE(value->Equals(expected_value.get())); |
95 // Pop a double. | 95 // Pop a double. |
96 value = PopDataAsValue(&reader); | 96 value = PopDataAsValue(&reader); |
97 ASSERT_TRUE(value.get() != NULL); | 97 ASSERT_TRUE(value.get() != NULL); |
98 expected_value.reset(new base::Value(kDoubleValue)); | 98 expected_value.reset(new base::Value(kDoubleValue)); |
99 EXPECT_TRUE(value->Equals(expected_value.get())); | 99 EXPECT_TRUE(value->Equals(expected_value.get())); |
100 // Pop a string. | 100 // Pop a string. |
101 value = PopDataAsValue(&reader); | 101 value = PopDataAsValue(&reader); |
102 ASSERT_TRUE(value.get() != NULL); | 102 ASSERT_TRUE(value.get() != NULL); |
103 expected_value.reset(new base::StringValue(kStringValue)); | 103 expected_value.reset(new base::Value(kStringValue)); |
104 EXPECT_TRUE(value->Equals(expected_value.get())); | 104 EXPECT_TRUE(value->Equals(expected_value.get())); |
105 // Pop an empty string. | 105 // Pop an empty string. |
106 value = PopDataAsValue(&reader); | 106 value = PopDataAsValue(&reader); |
107 ASSERT_TRUE(value.get() != NULL); | 107 ASSERT_TRUE(value.get() != NULL); |
108 expected_value.reset(new base::StringValue(kEmptyStringValue)); | 108 expected_value.reset(new base::Value(kEmptyStringValue)); |
109 EXPECT_TRUE(value->Equals(expected_value.get())); | 109 EXPECT_TRUE(value->Equals(expected_value.get())); |
110 // Pop an object path. | 110 // Pop an object path. |
111 value = PopDataAsValue(&reader); | 111 value = PopDataAsValue(&reader); |
112 ASSERT_TRUE(value.get() != NULL); | 112 ASSERT_TRUE(value.get() != NULL); |
113 expected_value.reset(new base::StringValue(kObjectPathValue.value())); | 113 expected_value.reset(new base::Value(kObjectPathValue.value())); |
114 EXPECT_TRUE(value->Equals(expected_value.get())); | 114 EXPECT_TRUE(value->Equals(expected_value.get())); |
115 } | 115 } |
116 | 116 |
117 TEST(ValuesUtilTest, PopVariant) { | 117 TEST(ValuesUtilTest, PopVariant) { |
118 std::unique_ptr<Response> response(Response::CreateEmpty()); | 118 std::unique_ptr<Response> response(Response::CreateEmpty()); |
119 // Append variant values. | 119 // Append variant values. |
120 MessageWriter writer(response.get()); | 120 MessageWriter writer(response.get()); |
121 const bool kBoolValue = true; | 121 const bool kBoolValue = true; |
122 writer.AppendVariantOfBool(kBoolValue); | 122 writer.AppendVariantOfBool(kBoolValue); |
123 const int32_t kInt32Value = -45; | 123 const int32_t kInt32Value = -45; |
(...skipping 17 matching lines...) Expand all Loading... |
141 expected_value.reset(new base::Value(kInt32Value)); | 141 expected_value.reset(new base::Value(kInt32Value)); |
142 EXPECT_TRUE(value->Equals(expected_value.get())); | 142 EXPECT_TRUE(value->Equals(expected_value.get())); |
143 // Pop a double. | 143 // Pop a double. |
144 value = PopDataAsValue(&reader); | 144 value = PopDataAsValue(&reader); |
145 ASSERT_TRUE(value.get() != NULL); | 145 ASSERT_TRUE(value.get() != NULL); |
146 expected_value.reset(new base::Value(kDoubleValue)); | 146 expected_value.reset(new base::Value(kDoubleValue)); |
147 EXPECT_TRUE(value->Equals(expected_value.get())); | 147 EXPECT_TRUE(value->Equals(expected_value.get())); |
148 // Pop a string. | 148 // Pop a string. |
149 value = PopDataAsValue(&reader); | 149 value = PopDataAsValue(&reader); |
150 ASSERT_TRUE(value.get() != NULL); | 150 ASSERT_TRUE(value.get() != NULL); |
151 expected_value.reset(new base::StringValue(kStringValue)); | 151 expected_value.reset(new base::Value(kStringValue)); |
152 EXPECT_TRUE(value->Equals(expected_value.get())); | 152 EXPECT_TRUE(value->Equals(expected_value.get())); |
153 } | 153 } |
154 | 154 |
155 // Pop extremely large integers which cannot be precisely represented in | 155 // Pop extremely large integers which cannot be precisely represented in |
156 // double. | 156 // double. |
157 TEST(ValuesUtilTest, PopExtremelyLargeIntegers) { | 157 TEST(ValuesUtilTest, PopExtremelyLargeIntegers) { |
158 std::unique_ptr<Response> response(Response::CreateEmpty()); | 158 std::unique_ptr<Response> response(Response::CreateEmpty()); |
159 // Append large integers. | 159 // Append large integers. |
160 MessageWriter writer(response.get()); | 160 MessageWriter writer(response.get()); |
161 const int64_t kInt64Value = -123456789012345689LL; | 161 const int64_t kInt64Value = -123456789012345689LL; |
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
384 MessageReader reader(response.get()); | 384 MessageReader reader(response.get()); |
385 std::unique_ptr<base::Value> value(PopDataAsValue(&reader)); | 385 std::unique_ptr<base::Value> value(PopDataAsValue(&reader)); |
386 ASSERT_TRUE(value.get() != NULL); | 386 ASSERT_TRUE(value.get() != NULL); |
387 EXPECT_TRUE(value->Equals(&dictionary_value)); | 387 EXPECT_TRUE(value->Equals(&dictionary_value)); |
388 } | 388 } |
389 | 389 |
390 TEST(ValuesUtilTest, AppendBasicTypes) { | 390 TEST(ValuesUtilTest, AppendBasicTypes) { |
391 const base::Value kBoolValue(false); | 391 const base::Value kBoolValue(false); |
392 const base::Value kIntegerValue(42); | 392 const base::Value kIntegerValue(42); |
393 const base::Value kDoubleValue(4.2); | 393 const base::Value kDoubleValue(4.2); |
394 const base::StringValue kStringValue("string"); | 394 const base::Value kStringValue("string"); |
395 | 395 |
396 std::unique_ptr<Response> response(Response::CreateEmpty()); | 396 std::unique_ptr<Response> response(Response::CreateEmpty()); |
397 MessageWriter writer(response.get()); | 397 MessageWriter writer(response.get()); |
398 AppendBasicTypeValueData(&writer, kBoolValue); | 398 AppendBasicTypeValueData(&writer, kBoolValue); |
399 AppendBasicTypeValueData(&writer, kIntegerValue); | 399 AppendBasicTypeValueData(&writer, kIntegerValue); |
400 AppendBasicTypeValueData(&writer, kDoubleValue); | 400 AppendBasicTypeValueData(&writer, kDoubleValue); |
401 AppendBasicTypeValueData(&writer, kStringValue); | 401 AppendBasicTypeValueData(&writer, kStringValue); |
402 | 402 |
403 MessageReader reader(response.get()); | 403 MessageReader reader(response.get()); |
404 std::unique_ptr<base::Value> value; | 404 std::unique_ptr<base::Value> value; |
405 value = PopDataAsValue(&reader); | 405 value = PopDataAsValue(&reader); |
406 ASSERT_TRUE(value.get() != NULL); | 406 ASSERT_TRUE(value.get() != NULL); |
407 EXPECT_TRUE(value->Equals(&kBoolValue)); | 407 EXPECT_TRUE(value->Equals(&kBoolValue)); |
408 value = PopDataAsValue(&reader); | 408 value = PopDataAsValue(&reader); |
409 ASSERT_TRUE(value.get() != NULL); | 409 ASSERT_TRUE(value.get() != NULL); |
410 EXPECT_TRUE(value->Equals(&kIntegerValue)); | 410 EXPECT_TRUE(value->Equals(&kIntegerValue)); |
411 value = PopDataAsValue(&reader); | 411 value = PopDataAsValue(&reader); |
412 ASSERT_TRUE(value.get() != NULL); | 412 ASSERT_TRUE(value.get() != NULL); |
413 EXPECT_TRUE(value->Equals(&kDoubleValue)); | 413 EXPECT_TRUE(value->Equals(&kDoubleValue)); |
414 value = PopDataAsValue(&reader); | 414 value = PopDataAsValue(&reader); |
415 ASSERT_TRUE(value.get() != NULL); | 415 ASSERT_TRUE(value.get() != NULL); |
416 EXPECT_TRUE(value->Equals(&kStringValue)); | 416 EXPECT_TRUE(value->Equals(&kStringValue)); |
417 } | 417 } |
418 | 418 |
419 TEST(ValuesUtilTest, AppendBasicTypesAsVariant) { | 419 TEST(ValuesUtilTest, AppendBasicTypesAsVariant) { |
420 const base::Value kBoolValue(false); | 420 const base::Value kBoolValue(false); |
421 const base::Value kIntegerValue(42); | 421 const base::Value kIntegerValue(42); |
422 const base::Value kDoubleValue(4.2); | 422 const base::Value kDoubleValue(4.2); |
423 const base::StringValue kStringValue("string"); | 423 const base::Value kStringValue("string"); |
424 | 424 |
425 std::unique_ptr<Response> response(Response::CreateEmpty()); | 425 std::unique_ptr<Response> response(Response::CreateEmpty()); |
426 MessageWriter writer(response.get()); | 426 MessageWriter writer(response.get()); |
427 AppendBasicTypeValueDataAsVariant(&writer, kBoolValue); | 427 AppendBasicTypeValueDataAsVariant(&writer, kBoolValue); |
428 AppendBasicTypeValueDataAsVariant(&writer, kIntegerValue); | 428 AppendBasicTypeValueDataAsVariant(&writer, kIntegerValue); |
429 AppendBasicTypeValueDataAsVariant(&writer, kDoubleValue); | 429 AppendBasicTypeValueDataAsVariant(&writer, kDoubleValue); |
430 AppendBasicTypeValueDataAsVariant(&writer, kStringValue); | 430 AppendBasicTypeValueDataAsVariant(&writer, kStringValue); |
431 | 431 |
432 MessageReader reader(response.get()); | 432 MessageReader reader(response.get()); |
433 std::unique_ptr<base::Value> value; | 433 std::unique_ptr<base::Value> value; |
434 value = PopDataAsValue(&reader); | 434 value = PopDataAsValue(&reader); |
435 ASSERT_TRUE(value.get() != NULL); | 435 ASSERT_TRUE(value.get() != NULL); |
436 EXPECT_TRUE(value->Equals(&kBoolValue)); | 436 EXPECT_TRUE(value->Equals(&kBoolValue)); |
437 value = PopDataAsValue(&reader); | 437 value = PopDataAsValue(&reader); |
438 ASSERT_TRUE(value.get() != NULL); | 438 ASSERT_TRUE(value.get() != NULL); |
439 EXPECT_TRUE(value->Equals(&kIntegerValue)); | 439 EXPECT_TRUE(value->Equals(&kIntegerValue)); |
440 value = PopDataAsValue(&reader); | 440 value = PopDataAsValue(&reader); |
441 ASSERT_TRUE(value.get() != NULL); | 441 ASSERT_TRUE(value.get() != NULL); |
442 EXPECT_TRUE(value->Equals(&kDoubleValue)); | 442 EXPECT_TRUE(value->Equals(&kDoubleValue)); |
443 value = PopDataAsValue(&reader); | 443 value = PopDataAsValue(&reader); |
444 ASSERT_TRUE(value.get() != NULL); | 444 ASSERT_TRUE(value.get() != NULL); |
445 EXPECT_TRUE(value->Equals(&kStringValue)); | 445 EXPECT_TRUE(value->Equals(&kStringValue)); |
446 } | 446 } |
447 | 447 |
448 TEST(ValuesUtilTest, AppendValueDataBasicTypes) { | 448 TEST(ValuesUtilTest, AppendValueDataBasicTypes) { |
449 const base::Value kBoolValue(false); | 449 const base::Value kBoolValue(false); |
450 const base::Value kIntegerValue(42); | 450 const base::Value kIntegerValue(42); |
451 const base::Value kDoubleValue(4.2); | 451 const base::Value kDoubleValue(4.2); |
452 const base::StringValue kStringValue("string"); | 452 const base::Value kStringValue("string"); |
453 | 453 |
454 std::unique_ptr<Response> response(Response::CreateEmpty()); | 454 std::unique_ptr<Response> response(Response::CreateEmpty()); |
455 MessageWriter writer(response.get()); | 455 MessageWriter writer(response.get()); |
456 AppendValueData(&writer, kBoolValue); | 456 AppendValueData(&writer, kBoolValue); |
457 AppendValueData(&writer, kIntegerValue); | 457 AppendValueData(&writer, kIntegerValue); |
458 AppendValueData(&writer, kDoubleValue); | 458 AppendValueData(&writer, kDoubleValue); |
459 AppendValueData(&writer, kStringValue); | 459 AppendValueData(&writer, kStringValue); |
460 | 460 |
461 MessageReader reader(response.get()); | 461 MessageReader reader(response.get()); |
462 std::unique_ptr<base::Value> value; | 462 std::unique_ptr<base::Value> value; |
463 value = PopDataAsValue(&reader); | 463 value = PopDataAsValue(&reader); |
464 ASSERT_TRUE(value.get() != NULL); | 464 ASSERT_TRUE(value.get() != NULL); |
465 EXPECT_TRUE(value->Equals(&kBoolValue)); | 465 EXPECT_TRUE(value->Equals(&kBoolValue)); |
466 value = PopDataAsValue(&reader); | 466 value = PopDataAsValue(&reader); |
467 ASSERT_TRUE(value.get() != NULL); | 467 ASSERT_TRUE(value.get() != NULL); |
468 EXPECT_TRUE(value->Equals(&kIntegerValue)); | 468 EXPECT_TRUE(value->Equals(&kIntegerValue)); |
469 value = PopDataAsValue(&reader); | 469 value = PopDataAsValue(&reader); |
470 ASSERT_TRUE(value.get() != NULL); | 470 ASSERT_TRUE(value.get() != NULL); |
471 EXPECT_TRUE(value->Equals(&kDoubleValue)); | 471 EXPECT_TRUE(value->Equals(&kDoubleValue)); |
472 value = PopDataAsValue(&reader); | 472 value = PopDataAsValue(&reader); |
473 ASSERT_TRUE(value.get() != NULL); | 473 ASSERT_TRUE(value.get() != NULL); |
474 EXPECT_TRUE(value->Equals(&kStringValue)); | 474 EXPECT_TRUE(value->Equals(&kStringValue)); |
475 } | 475 } |
476 | 476 |
477 TEST(ValuesUtilTest, AppendValueDataAsVariantBasicTypes) { | 477 TEST(ValuesUtilTest, AppendValueDataAsVariantBasicTypes) { |
478 const base::Value kBoolValue(false); | 478 const base::Value kBoolValue(false); |
479 const base::Value kIntegerValue(42); | 479 const base::Value kIntegerValue(42); |
480 const base::Value kDoubleValue(4.2); | 480 const base::Value kDoubleValue(4.2); |
481 const base::StringValue kStringValue("string"); | 481 const base::Value kStringValue("string"); |
482 | 482 |
483 std::unique_ptr<Response> response(Response::CreateEmpty()); | 483 std::unique_ptr<Response> response(Response::CreateEmpty()); |
484 MessageWriter writer(response.get()); | 484 MessageWriter writer(response.get()); |
485 AppendValueDataAsVariant(&writer, kBoolValue); | 485 AppendValueDataAsVariant(&writer, kBoolValue); |
486 AppendValueDataAsVariant(&writer, kIntegerValue); | 486 AppendValueDataAsVariant(&writer, kIntegerValue); |
487 AppendValueDataAsVariant(&writer, kDoubleValue); | 487 AppendValueDataAsVariant(&writer, kDoubleValue); |
488 AppendValueDataAsVariant(&writer, kStringValue); | 488 AppendValueDataAsVariant(&writer, kStringValue); |
489 | 489 |
490 MessageReader reader(response.get()); | 490 MessageReader reader(response.get()); |
491 std::unique_ptr<base::Value> value; | 491 std::unique_ptr<base::Value> value; |
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
679 std::unique_ptr<base::Value> value; | 679 std::unique_ptr<base::Value> value; |
680 value = PopDataAsValue(&reader); | 680 value = PopDataAsValue(&reader); |
681 ASSERT_TRUE(value.get() != NULL); | 681 ASSERT_TRUE(value.get() != NULL); |
682 EXPECT_TRUE(value->Equals(&test_list)); | 682 EXPECT_TRUE(value->Equals(&test_list)); |
683 value = PopDataAsValue(&reader); | 683 value = PopDataAsValue(&reader); |
684 ASSERT_TRUE(value.get() != NULL); | 684 ASSERT_TRUE(value.get() != NULL); |
685 EXPECT_TRUE(value->Equals(&int_value)); | 685 EXPECT_TRUE(value->Equals(&int_value)); |
686 } | 686 } |
687 | 687 |
688 } // namespace dbus | 688 } // namespace dbus |
OLD | NEW |