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

Side by Side Diff: base/values_unittest.cc

Issue 2516363005: Inline StringValue into base::Value (Closed)
Patch Set: GetString by ref and TestStringValue Fix Created 4 years 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
OLDNEW
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 "base/values.h" 5 #include "base/values.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <limits> 9 #include <limits>
10 #include <memory> 10 #include <memory>
(...skipping 22 matching lines...) Expand all
33 EXPECT_EQ(Value::Type::INTEGER, value.type()); 33 EXPECT_EQ(Value::Type::INTEGER, value.type());
34 EXPECT_EQ(-37, value.GetInt()); 34 EXPECT_EQ(-37, value.GetInt());
35 } 35 }
36 36
37 TEST(ValuesTest, ConstructDouble) { 37 TEST(ValuesTest, ConstructDouble) {
38 FundamentalValue value(-4.655); 38 FundamentalValue value(-4.655);
39 EXPECT_EQ(Value::Type::DOUBLE, value.type()); 39 EXPECT_EQ(Value::Type::DOUBLE, value.type());
40 EXPECT_EQ(-4.655, value.GetDouble()); 40 EXPECT_EQ(-4.655, value.GetDouble());
41 } 41 }
42 42
43 TEST(ValuesTest, ConstructStringFromStringPiece) {
44 StringPiece str = "foobar";
45 StringValue value(str);
46 EXPECT_EQ(Value::Type::STRING, value.type());
47 EXPECT_EQ(str.as_string(), value.GetString());
vabr (Chromium) 2016/12/16 17:00:56 To avoid testing as_string, please use EXPECT_EQ("
jdoerrie 2016/12/19 11:54:09 Done. For some reason I thought we needed the exac
vabr (Chromium) 2016/12/19 13:00:56 Ah, actually, I missed that it was taking the expe
48 }
49
50 TEST(ValuesTest, ConstructStringFromStdString) {
51 std::string str = "foobar";
52 StringValue value(str);
53 EXPECT_EQ(Value::Type::STRING, value.type());
54 EXPECT_EQ(str, value.GetString());
55 }
56
57 TEST(ValuesTest, ConstructStringFromString16) {
58 string16 str = ASCIIToUTF16("foobar");
59 StringValue value(str);
60 EXPECT_EQ(Value::Type::STRING, value.type());
61 EXPECT_EQ(UTF16ToUTF8(str), value.GetString());
62 }
63
64 TEST(ValuesTest, ConstructStringFromConstChar) {
65 const char* str = "foobar";
66 StringValue value(str);
67 EXPECT_EQ(Value::Type::STRING, value.type());
68 EXPECT_EQ(std::string(str), value.GetString());
69 }
70
43 // Group of tests for the copy constructors and copy-assigmnent. For equality 71 // Group of tests for the copy constructors and copy-assigmnent. For equality
44 // checks comparisons of the interesting fields are done instead of relying on 72 // checks comparisons of the interesting fields are done instead of relying on
45 // Equals being correct. 73 // Equals being correct.
46 TEST(ValuesTest, CopyBool) { 74 TEST(ValuesTest, CopyBool) {
47 FundamentalValue true_value(true); 75 FundamentalValue true_value(true);
48 FundamentalValue copied_true_value(true_value); 76 FundamentalValue copied_true_value(true_value);
49 EXPECT_EQ(true_value.type(), copied_true_value.type()); 77 EXPECT_EQ(true_value.type(), copied_true_value.type());
50 EXPECT_EQ(true_value.GetBool(), copied_true_value.GetBool()); 78 EXPECT_EQ(true_value.GetBool(), copied_true_value.GetBool());
51 79
52 FundamentalValue false_value(false); 80 FundamentalValue false_value(false);
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 118
91 // TODO(crbug.com/646113): Create a Type::NONE value once the assignment 119 // TODO(crbug.com/646113): Create a Type::NONE value once the assignment
92 // operator of base::Value is public. 120 // operator of base::Value is public.
93 FundamentalValue blank(false); 121 FundamentalValue blank(false);
94 122
95 blank = value; 123 blank = value;
96 EXPECT_EQ(value.type(), blank.type()); 124 EXPECT_EQ(value.type(), blank.type());
97 EXPECT_EQ(value.GetDouble(), blank.GetDouble()); 125 EXPECT_EQ(value.GetDouble(), blank.GetDouble());
98 } 126 }
99 127
128 TEST(ValuesTest, CopyString) {
129 StringValue value("foobar");
130 StringValue copied_value(value);
131 EXPECT_EQ(value.type(), copied_value.type());
132 EXPECT_EQ(value.GetString(), copied_value.GetString());
133
134 // TODO(crbug.com/646113): Create a Type::NONE value once the assignment
135 // operator of base::Value is public.
136 StringValue blank("");
137
138 blank = value;
139 EXPECT_EQ(value.type(), blank.type());
140 EXPECT_EQ(value.GetString(), blank.GetString());
141 }
142
100 // Group of tests for the move constructors and move-assigmnent. 143 // Group of tests for the move constructors and move-assigmnent.
101 TEST(ValuesTest, MoveBool) { 144 TEST(ValuesTest, MoveBool) {
102 FundamentalValue true_value(true); 145 FundamentalValue true_value(true);
103 FundamentalValue moved_true_value(std::move(true_value)); 146 FundamentalValue moved_true_value(std::move(true_value));
104 EXPECT_EQ(Value::Type::BOOLEAN, moved_true_value.type()); 147 EXPECT_EQ(Value::Type::BOOLEAN, moved_true_value.type());
105 EXPECT_TRUE(moved_true_value.GetBool()); 148 EXPECT_TRUE(moved_true_value.GetBool());
106 149
107 FundamentalValue false_value(false); 150 FundamentalValue false_value(false);
108 FundamentalValue moved_false_value(std::move(false_value)); 151 FundamentalValue moved_false_value(std::move(false_value));
109 EXPECT_EQ(Value::Type::BOOLEAN, moved_false_value.type()); 152 EXPECT_EQ(Value::Type::BOOLEAN, moved_false_value.type());
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 188
146 // TODO(crbug.com/646113): Create a Type::NONE value once the assignment 189 // TODO(crbug.com/646113): Create a Type::NONE value once the assignment
147 // operator of base::Value is public. 190 // operator of base::Value is public.
148 FundamentalValue blank(false); 191 FundamentalValue blank(false);
149 192
150 blank = FundamentalValue(654.38); 193 blank = FundamentalValue(654.38);
151 EXPECT_EQ(Value::Type::DOUBLE, blank.type()); 194 EXPECT_EQ(Value::Type::DOUBLE, blank.type());
152 EXPECT_EQ(654.38, blank.GetDouble()); 195 EXPECT_EQ(654.38, blank.GetDouble());
153 } 196 }
154 197
198 TEST(ValuesTest, MoveString) {
199 StringValue value("foobar");
200 StringValue moved_value(std::move(value));
201 EXPECT_EQ(Value::Type::STRING, moved_value.type());
202 EXPECT_EQ(std::string("foobar"), moved_value.GetString());
203 EXPECT_EQ(Value::Type::NONE, value.type());
204
205 // TODO(crbug.com/646113): Create a Type::NONE value once the assignment
206 // operator of base::Value is public.
207 StringValue blank("");
208
209 blank = StringValue("foobar");
210 EXPECT_EQ(Value::Type::STRING, blank.type());
211 EXPECT_EQ(std::string("foobar"), blank.GetString());
212 }
213
155 TEST(ValuesTest, Basic) { 214 TEST(ValuesTest, Basic) {
156 // Test basic dictionary getting/setting 215 // Test basic dictionary getting/setting
157 DictionaryValue settings; 216 DictionaryValue settings;
158 std::string homepage = "http://google.com"; 217 std::string homepage = "http://google.com";
159 ASSERT_FALSE(settings.GetString("global.homepage", &homepage)); 218 ASSERT_FALSE(settings.GetString("global.homepage", &homepage));
160 ASSERT_EQ(std::string("http://google.com"), homepage); 219 ASSERT_EQ(std::string("http://google.com"), homepage);
161 220
162 ASSERT_FALSE(settings.Get("global", NULL)); 221 ASSERT_FALSE(settings.Get("global", NULL));
163 settings.SetBoolean("global", true); 222 settings.SetBoolean("global", true);
164 ASSERT_TRUE(settings.Get("global", NULL)); 223 ASSERT_TRUE(settings.Get("global", NULL));
(...skipping 1117 matching lines...) Expand 10 before | Expand all | Expand 10 after
1282 EXPECT_FALSE(main_list.GetList(1, NULL)); 1341 EXPECT_FALSE(main_list.GetList(1, NULL));
1283 EXPECT_FALSE(main_list.GetList(2, NULL)); 1342 EXPECT_FALSE(main_list.GetList(2, NULL));
1284 EXPECT_FALSE(main_list.GetList(3, NULL)); 1343 EXPECT_FALSE(main_list.GetList(3, NULL));
1285 EXPECT_FALSE(main_list.GetList(4, NULL)); 1344 EXPECT_FALSE(main_list.GetList(4, NULL));
1286 EXPECT_FALSE(main_list.GetList(5, NULL)); 1345 EXPECT_FALSE(main_list.GetList(5, NULL));
1287 EXPECT_TRUE(main_list.GetList(6, NULL)); 1346 EXPECT_TRUE(main_list.GetList(6, NULL));
1288 EXPECT_FALSE(main_list.GetList(7, NULL)); 1347 EXPECT_FALSE(main_list.GetList(7, NULL));
1289 } 1348 }
1290 1349
1291 } // namespace base 1350 } // namespace base
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698