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 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
86 ASSERT_TRUE(bool_value); | 86 ASSERT_TRUE(bool_value); |
87 ASSERT_TRUE(mixed_list->GetInteger(1, &int_value)); | 87 ASSERT_TRUE(mixed_list->GetInteger(1, &int_value)); |
88 ASSERT_EQ(42, int_value); | 88 ASSERT_EQ(42, int_value); |
89 // implicit conversion from Integer to Double should be possible. | 89 // implicit conversion from Integer to Double should be possible. |
90 ASSERT_TRUE(mixed_list->GetDouble(1, &double_value)); | 90 ASSERT_TRUE(mixed_list->GetDouble(1, &double_value)); |
91 ASSERT_EQ(42, double_value); | 91 ASSERT_EQ(42, double_value); |
92 ASSERT_TRUE(mixed_list->GetDouble(2, &double_value)); | 92 ASSERT_TRUE(mixed_list->GetDouble(2, &double_value)); |
93 ASSERT_EQ(88.8, double_value); | 93 ASSERT_EQ(88.8, double_value); |
94 ASSERT_TRUE(mixed_list->GetString(3, &string_value)); | 94 ASSERT_TRUE(mixed_list->GetString(3, &string_value)); |
95 ASSERT_EQ("foo", string_value); | 95 ASSERT_EQ("foo", string_value); |
| 96 |
| 97 { |
| 98 ListValue* list_value = NULL; |
| 99 ASSERT_TRUE(mixed_list->GetAsList(&list_value)); |
| 100 ASSERT_EQ(mixed_list.get(), list_value); |
| 101 } |
96 } | 102 } |
97 | 103 |
98 TEST(ValuesTest, BinaryValue) { | 104 TEST(ValuesTest, BinaryValue) { |
99 char* buffer = NULL; | 105 char* buffer = NULL; |
100 // Passing a null buffer pointer doesn't yield a BinaryValue | 106 // Passing a null buffer pointer doesn't yield a BinaryValue |
101 scoped_ptr<BinaryValue> binary(BinaryValue::Create(buffer, 0)); | 107 scoped_ptr<BinaryValue> binary(BinaryValue::Create(buffer, 0)); |
102 ASSERT_FALSE(binary.get()); | 108 ASSERT_FALSE(binary.get()); |
103 | 109 |
104 // If you want to represent an empty binary value, use a zero-length buffer. | 110 // If you want to represent an empty binary value, use a zero-length buffer. |
105 buffer = new char[1]; | 111 buffer = new char[1]; |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
237 list.Append(value); | 243 list.Append(value); |
238 EXPECT_FALSE(deletion_flag); | 244 EXPECT_FALSE(deletion_flag); |
239 size_t index = 0; | 245 size_t index = 0; |
240 list.Remove(*value, &index); | 246 list.Remove(*value, &index); |
241 EXPECT_EQ(0U, index); | 247 EXPECT_EQ(0U, index); |
242 EXPECT_TRUE(deletion_flag); | 248 EXPECT_TRUE(deletion_flag); |
243 EXPECT_EQ(0U, list.GetSize()); | 249 EXPECT_EQ(0U, list.GetSize()); |
244 } | 250 } |
245 } | 251 } |
246 | 252 |
| 253 TEST(ValuesTest, DictionaryBasic) { |
| 254 DictionaryValue dict; |
| 255 { |
| 256 DictionaryValue* dict_value = NULL; |
| 257 ASSERT_TRUE(dict.GetAsDictionary(&dict_value)); |
| 258 ASSERT_EQ(&dict, dict_value); |
| 259 } |
| 260 } |
| 261 |
247 TEST(ValuesTest, DictionaryDeletion) { | 262 TEST(ValuesTest, DictionaryDeletion) { |
248 std::string key = "test"; | 263 std::string key = "test"; |
249 bool deletion_flag = true; | 264 bool deletion_flag = true; |
250 | 265 |
251 { | 266 { |
252 DictionaryValue dict; | 267 DictionaryValue dict; |
253 dict.Set(key, new DeletionTestValue(&deletion_flag)); | 268 dict.Set(key, new DeletionTestValue(&deletion_flag)); |
254 EXPECT_FALSE(deletion_flag); | 269 EXPECT_FALSE(deletion_flag); |
255 } | 270 } |
256 EXPECT_TRUE(deletion_flag); | 271 EXPECT_TRUE(deletion_flag); |
(...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
686 std::string sub_collide_key_value; | 701 std::string sub_collide_key_value; |
687 EXPECT_TRUE(res_sub_dict->GetString("sub_collide_key", | 702 EXPECT_TRUE(res_sub_dict->GetString("sub_collide_key", |
688 &sub_collide_key_value)); | 703 &sub_collide_key_value)); |
689 EXPECT_EQ("sub_collide_key_value_merge", sub_collide_key_value); // Replaced. | 704 EXPECT_EQ("sub_collide_key_value_merge", sub_collide_key_value); // Replaced. |
690 std::string sub_merge_key_value; | 705 std::string sub_merge_key_value; |
691 EXPECT_TRUE(res_sub_dict->GetString("sub_merge_key", &sub_merge_key_value)); | 706 EXPECT_TRUE(res_sub_dict->GetString("sub_merge_key", &sub_merge_key_value)); |
692 EXPECT_EQ("sub_merge_key_value_merge", sub_merge_key_value); // Merged in. | 707 EXPECT_EQ("sub_merge_key_value_merge", sub_merge_key_value); // Merged in. |
693 } | 708 } |
694 | 709 |
695 } // namespace base | 710 } // namespace base |
OLD | NEW |