OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 <limits> | 5 #include <limits> |
6 | 6 |
7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "base/string16.h" | 8 #include "base/string16.h" |
9 #include "base/utf_string_conversions.h" | 9 #include "base/utf_string_conversions.h" |
10 #include "base/values.h" | 10 #include "base/values.h" |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
67 Value *value = NULL; | 67 Value *value = NULL; |
68 bool bool_value = false; | 68 bool bool_value = false; |
69 int int_value = 0; | 69 int int_value = 0; |
70 double double_value = 0.0; | 70 double double_value = 0.0; |
71 std::string string_value; | 71 std::string string_value; |
72 | 72 |
73 ASSERT_FALSE(mixed_list->Get(4, &value)); | 73 ASSERT_FALSE(mixed_list->Get(4, &value)); |
74 | 74 |
75 ASSERT_FALSE(mixed_list->GetInteger(0, &int_value)); | 75 ASSERT_FALSE(mixed_list->GetInteger(0, &int_value)); |
76 ASSERT_EQ(0, int_value); | 76 ASSERT_EQ(0, int_value); |
77 ASSERT_FALSE(mixed_list->GetDouble(1, &double_value)); | 77 ASSERT_FALSE(mixed_list->GetBoolean(1, &bool_value)); |
78 ASSERT_EQ(0.0, double_value); | 78 ASSERT_FALSE(bool_value); |
79 ASSERT_FALSE(mixed_list->GetString(2, &string_value)); | 79 ASSERT_FALSE(mixed_list->GetString(2, &string_value)); |
80 ASSERT_EQ("", string_value); | 80 ASSERT_EQ("", string_value); |
| 81 ASSERT_FALSE(mixed_list->GetInteger(2, &int_value)); |
| 82 ASSERT_EQ(0, int_value); |
81 ASSERT_FALSE(mixed_list->GetBoolean(3, &bool_value)); | 83 ASSERT_FALSE(mixed_list->GetBoolean(3, &bool_value)); |
82 ASSERT_FALSE(bool_value); | 84 ASSERT_FALSE(bool_value); |
83 | 85 |
84 ASSERT_TRUE(mixed_list->GetBoolean(0, &bool_value)); | 86 ASSERT_TRUE(mixed_list->GetBoolean(0, &bool_value)); |
85 ASSERT_TRUE(bool_value); | 87 ASSERT_TRUE(bool_value); |
86 ASSERT_TRUE(mixed_list->GetInteger(1, &int_value)); | 88 ASSERT_TRUE(mixed_list->GetInteger(1, &int_value)); |
87 ASSERT_EQ(42, int_value); | 89 ASSERT_EQ(42, int_value); |
| 90 // implicit conversion from Integer to Double should be possible. |
| 91 ASSERT_TRUE(mixed_list->GetDouble(1, &double_value)); |
| 92 ASSERT_EQ(42, double_value); |
88 ASSERT_TRUE(mixed_list->GetDouble(2, &double_value)); | 93 ASSERT_TRUE(mixed_list->GetDouble(2, &double_value)); |
89 ASSERT_EQ(88.8, double_value); | 94 ASSERT_EQ(88.8, double_value); |
90 ASSERT_TRUE(mixed_list->GetString(3, &string_value)); | 95 ASSERT_TRUE(mixed_list->GetString(3, &string_value)); |
91 ASSERT_EQ("foo", string_value); | 96 ASSERT_EQ("foo", string_value); |
92 } | 97 } |
93 | 98 |
94 TEST_F(ValuesTest, BinaryValue) { | 99 TEST_F(ValuesTest, BinaryValue) { |
95 char* buffer = NULL; | 100 char* buffer = NULL; |
96 // Passing a null buffer pointer doesn't yield a BinaryValue | 101 // Passing a null buffer pointer doesn't yield a BinaryValue |
97 scoped_ptr<BinaryValue> binary(BinaryValue::Create(buffer, 0)); | 102 scoped_ptr<BinaryValue> binary(BinaryValue::Create(buffer, 0)); |
(...skipping 581 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
679 EXPECT_TRUE(res_sub_dict->GetString("sub_base_key", &sub_base_key_value)); | 684 EXPECT_TRUE(res_sub_dict->GetString("sub_base_key", &sub_base_key_value)); |
680 EXPECT_EQ("sub_base_key_value_base", sub_base_key_value); // Preserved. | 685 EXPECT_EQ("sub_base_key_value_base", sub_base_key_value); // Preserved. |
681 std::string sub_collide_key_value; | 686 std::string sub_collide_key_value; |
682 EXPECT_TRUE(res_sub_dict->GetString("sub_collide_key", | 687 EXPECT_TRUE(res_sub_dict->GetString("sub_collide_key", |
683 &sub_collide_key_value)); | 688 &sub_collide_key_value)); |
684 EXPECT_EQ("sub_collide_key_value_merge", sub_collide_key_value); // Replaced. | 689 EXPECT_EQ("sub_collide_key_value_merge", sub_collide_key_value); // Replaced. |
685 std::string sub_merge_key_value; | 690 std::string sub_merge_key_value; |
686 EXPECT_TRUE(res_sub_dict->GetString("sub_merge_key", &sub_merge_key_value)); | 691 EXPECT_TRUE(res_sub_dict->GetString("sub_merge_key", &sub_merge_key_value)); |
687 EXPECT_EQ("sub_merge_key_value_merge", sub_merge_key_value); // Merged in. | 692 EXPECT_EQ("sub_merge_key_value_merge", sub_merge_key_value); // Merged in. |
688 } | 693 } |
OLD | NEW |