| 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 |