Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(156)

Side by Side Diff: base/values_unittest.cc

Issue 6893089: Modified Value::GetAsDouble so the function returns true when the object holds an Integer (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review fix Created 9 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « base/values.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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 }
OLDNEW
« no previous file with comments | « base/values.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698