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