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

Side by Side Diff: tools/json_schema_compiler/test/arrays_unittest.cc

Issue 2036013002: Remove ListValue::Append(new {Fundamental,String}Value(...)) pattern in //tools (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 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
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 "tools/json_schema_compiler/test/arrays.h" 5 #include "tools/json_schema_compiler/test/arrays.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <memory> 9 #include <memory>
10 10
11 #include "base/macros.h" 11 #include "base/macros.h"
12 #include "testing/gtest/include/gtest/gtest.h" 12 #include "testing/gtest/include/gtest/gtest.h"
13 #include "tools/json_schema_compiler/test/enums.h" 13 #include "tools/json_schema_compiler/test/enums.h"
14 14
15 using namespace test::api::arrays; 15 using namespace test::api::arrays;
16 16
17 namespace { 17 namespace {
18 18
19 // TODO(calamity): Change to AppendString etc once kalman's patch goes through 19 // TODO(calamity): Change to AppendString etc once kalman's patch goes through
20 static std::unique_ptr<base::DictionaryValue> CreateBasicArrayTypeDictionary() { 20 static std::unique_ptr<base::DictionaryValue> CreateBasicArrayTypeDictionary() {
21 std::unique_ptr<base::DictionaryValue> value(new base::DictionaryValue()); 21 std::unique_ptr<base::DictionaryValue> value(new base::DictionaryValue());
22 base::ListValue* strings_value = new base::ListValue(); 22 base::ListValue* strings_value = new base::ListValue();
23 strings_value->Append(new base::StringValue("a")); 23 strings_value->AppendString("a");
24 strings_value->Append(new base::StringValue("b")); 24 strings_value->AppendString("b");
25 strings_value->Append(new base::StringValue("c")); 25 strings_value->AppendString("c");
26 strings_value->Append(new base::StringValue("it's easy as")); 26 strings_value->AppendString("it's easy as");
27 base::ListValue* integers_value = new base::ListValue(); 27 base::ListValue* integers_value = new base::ListValue();
28 integers_value->Append(new base::FundamentalValue(1)); 28 integers_value->AppendInteger(1);
29 integers_value->Append(new base::FundamentalValue(2)); 29 integers_value->AppendInteger(2);
30 integers_value->Append(new base::FundamentalValue(3)); 30 integers_value->AppendInteger(3);
31 base::ListValue* booleans_value = new base::ListValue(); 31 base::ListValue* booleans_value = new base::ListValue();
32 booleans_value->Append(new base::FundamentalValue(false)); 32 booleans_value->AppendBoolean(false);
33 booleans_value->Append(new base::FundamentalValue(true)); 33 booleans_value->AppendBoolean(true);
34 base::ListValue* numbers_value = new base::ListValue(); 34 base::ListValue* numbers_value = new base::ListValue();
35 numbers_value->Append(new base::FundamentalValue(6.1)); 35 numbers_value->AppendDouble(6.1);
36 value->Set("numbers", numbers_value); 36 value->Set("numbers", numbers_value);
37 value->Set("booleans", booleans_value); 37 value->Set("booleans", booleans_value);
38 value->Set("strings", strings_value); 38 value->Set("strings", strings_value);
39 value->Set("integers", integers_value); 39 value->Set("integers", integers_value);
40 return value; 40 return value;
41 } 41 }
42 42
43 static base::Value* CreateItemValue(int val) { 43 static base::Value* CreateItemValue(int val) {
44 base::DictionaryValue* value(new base::DictionaryValue()); 44 base::DictionaryValue* value(new base::DictionaryValue());
45 value->Set("val", new base::FundamentalValue(val)); 45 value->Set("val", new base::FundamentalValue(val));
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 126
127 TEST(JsonSchemaCompilerArrayTest, OptionalEnumArrayType) { 127 TEST(JsonSchemaCompilerArrayTest, OptionalEnumArrayType) {
128 { 128 {
129 std::vector<Enumeration> enums; 129 std::vector<Enumeration> enums;
130 enums.push_back(ENUMERATION_ONE); 130 enums.push_back(ENUMERATION_ONE);
131 enums.push_back(ENUMERATION_TWO); 131 enums.push_back(ENUMERATION_TWO);
132 enums.push_back(ENUMERATION_THREE); 132 enums.push_back(ENUMERATION_THREE);
133 133
134 std::unique_ptr<base::ListValue> types(new base::ListValue()); 134 std::unique_ptr<base::ListValue> types(new base::ListValue());
135 for (size_t i = 0; i < enums.size(); ++i) 135 for (size_t i = 0; i < enums.size(); ++i)
136 types->Append(new base::StringValue(ToString(enums[i]))); 136 types->AppendString(ToString(enums[i]));
137 137
138 base::DictionaryValue value; 138 base::DictionaryValue value;
139 value.Set("types", types.release()); 139 value.Set("types", types.release());
140 140
141 OptionalEnumArrayType enum_array_type; 141 OptionalEnumArrayType enum_array_type;
142 ASSERT_TRUE(OptionalEnumArrayType::Populate(value, &enum_array_type)); 142 ASSERT_TRUE(OptionalEnumArrayType::Populate(value, &enum_array_type));
143 EXPECT_EQ(enums, *enum_array_type.types); 143 EXPECT_EQ(enums, *enum_array_type.types);
144 } 144 }
145 { 145 {
146 base::DictionaryValue value; 146 base::DictionaryValue value;
147 std::unique_ptr<base::ListValue> enum_array(new base::ListValue()); 147 std::unique_ptr<base::ListValue> enum_array(new base::ListValue());
148 enum_array->Append(new base::StringValue("invalid")); 148 enum_array->AppendString("invalid");
149 149
150 value.Set("types", enum_array.release()); 150 value.Set("types", enum_array.release());
151 OptionalEnumArrayType enum_array_type; 151 OptionalEnumArrayType enum_array_type;
152 ASSERT_FALSE(OptionalEnumArrayType::Populate(value, &enum_array_type)); 152 ASSERT_FALSE(OptionalEnumArrayType::Populate(value, &enum_array_type));
153 EXPECT_TRUE(enum_array_type.types->empty()); 153 EXPECT_TRUE(enum_array_type.types->empty());
154 } 154 }
155 } 155 }
156 156
157 TEST(JsonSchemaCompilerArrayTest, RefArrayType) { 157 TEST(JsonSchemaCompilerArrayTest, RefArrayType) {
158 { 158 {
159 std::unique_ptr<base::DictionaryValue> value(new base::DictionaryValue()); 159 std::unique_ptr<base::DictionaryValue> value(new base::DictionaryValue());
160 std::unique_ptr<base::ListValue> ref_array(new base::ListValue()); 160 std::unique_ptr<base::ListValue> ref_array(new base::ListValue());
161 ref_array->Append(CreateItemValue(1)); 161 ref_array->Append(CreateItemValue(1));
162 ref_array->Append(CreateItemValue(2)); 162 ref_array->Append(CreateItemValue(2));
163 ref_array->Append(CreateItemValue(3)); 163 ref_array->Append(CreateItemValue(3));
164 value->Set("refs", ref_array.release()); 164 value->Set("refs", ref_array.release());
165 std::unique_ptr<RefArrayType> ref_array_type(new RefArrayType()); 165 std::unique_ptr<RefArrayType> ref_array_type(new RefArrayType());
166 EXPECT_TRUE(RefArrayType::Populate(*value, ref_array_type.get())); 166 EXPECT_TRUE(RefArrayType::Populate(*value, ref_array_type.get()));
167 ASSERT_EQ(3u, ref_array_type->refs.size()); 167 ASSERT_EQ(3u, ref_array_type->refs.size());
168 EXPECT_EQ(1, ref_array_type->refs[0].val); 168 EXPECT_EQ(1, ref_array_type->refs[0].val);
169 EXPECT_EQ(2, ref_array_type->refs[1].val); 169 EXPECT_EQ(2, ref_array_type->refs[1].val);
170 EXPECT_EQ(3, ref_array_type->refs[2].val); 170 EXPECT_EQ(3, ref_array_type->refs[2].val);
171 } 171 }
172 { 172 {
173 std::unique_ptr<base::DictionaryValue> value(new base::DictionaryValue()); 173 std::unique_ptr<base::DictionaryValue> value(new base::DictionaryValue());
174 std::unique_ptr<base::ListValue> not_ref_array(new base::ListValue()); 174 std::unique_ptr<base::ListValue> not_ref_array(new base::ListValue());
175 not_ref_array->Append(CreateItemValue(1)); 175 not_ref_array->Append(CreateItemValue(1));
176 not_ref_array->Append(new base::FundamentalValue(3)); 176 not_ref_array->AppendInteger(3);
177 value->Set("refs", not_ref_array.release()); 177 value->Set("refs", not_ref_array.release());
178 std::unique_ptr<RefArrayType> ref_array_type(new RefArrayType()); 178 std::unique_ptr<RefArrayType> ref_array_type(new RefArrayType());
179 EXPECT_FALSE(RefArrayType::Populate(*value, ref_array_type.get())); 179 EXPECT_FALSE(RefArrayType::Populate(*value, ref_array_type.get()));
180 } 180 }
181 } 181 }
182 182
183 TEST(JsonSchemaCompilerArrayTest, IntegerArrayParamsCreate) { 183 TEST(JsonSchemaCompilerArrayTest, IntegerArrayParamsCreate) {
184 std::unique_ptr<base::ListValue> params_value(new base::ListValue()); 184 std::unique_ptr<base::ListValue> params_value(new base::ListValue());
185 std::unique_ptr<base::ListValue> integer_array(new base::ListValue()); 185 std::unique_ptr<base::ListValue> integer_array(new base::ListValue());
186 integer_array->Append(new base::FundamentalValue(2)); 186 integer_array->AppendInteger(2);
187 integer_array->Append(new base::FundamentalValue(4)); 187 integer_array->AppendInteger(4);
188 integer_array->Append(new base::FundamentalValue(8)); 188 integer_array->AppendInteger(8);
189 params_value->Append(integer_array.release()); 189 params_value->Append(integer_array.release());
190 std::unique_ptr<IntegerArray::Params> params( 190 std::unique_ptr<IntegerArray::Params> params(
191 IntegerArray::Params::Create(*params_value)); 191 IntegerArray::Params::Create(*params_value));
192 EXPECT_TRUE(params.get()); 192 EXPECT_TRUE(params.get());
193 ASSERT_EQ(3u, params->nums.size()); 193 ASSERT_EQ(3u, params->nums.size());
194 EXPECT_EQ(2, params->nums[0]); 194 EXPECT_EQ(2, params->nums[0]);
195 EXPECT_EQ(4, params->nums[1]); 195 EXPECT_EQ(4, params->nums[1]);
196 EXPECT_EQ(8, params->nums[2]); 196 EXPECT_EQ(8, params->nums[2]);
197 } 197 }
198 198
199 TEST(JsonSchemaCompilerArrayTest, AnyArrayParamsCreate) { 199 TEST(JsonSchemaCompilerArrayTest, AnyArrayParamsCreate) {
200 std::unique_ptr<base::ListValue> params_value(new base::ListValue()); 200 std::unique_ptr<base::ListValue> params_value(new base::ListValue());
201 std::unique_ptr<base::ListValue> any_array(new base::ListValue()); 201 std::unique_ptr<base::ListValue> any_array(new base::ListValue());
202 any_array->Append(new base::FundamentalValue(1)); 202 any_array->AppendInteger(1);
203 any_array->Append(new base::StringValue("test")); 203 any_array->AppendString("test");
204 any_array->Append(CreateItemValue(2)); 204 any_array->Append(CreateItemValue(2));
205 params_value->Append(any_array.release()); 205 params_value->Append(any_array.release());
206 std::unique_ptr<AnyArray::Params> params( 206 std::unique_ptr<AnyArray::Params> params(
207 AnyArray::Params::Create(*params_value)); 207 AnyArray::Params::Create(*params_value));
208 EXPECT_TRUE(params.get()); 208 EXPECT_TRUE(params.get());
209 ASSERT_EQ(3u, params->anys.size()); 209 ASSERT_EQ(3u, params->anys.size());
210 int int_temp = 0; 210 int int_temp = 0;
211 EXPECT_TRUE(params->anys[0]->GetAsInteger(&int_temp)); 211 EXPECT_TRUE(params->anys[0]->GetAsInteger(&int_temp));
212 EXPECT_EQ(1, int_temp); 212 EXPECT_EQ(1, int_temp);
213 } 213 }
(...skipping 28 matching lines...) Expand all
242 242
243 TEST(JsonSchemaCompilerArrayTest, ReturnIntegerArrayResultCreate) { 243 TEST(JsonSchemaCompilerArrayTest, ReturnIntegerArrayResultCreate) {
244 std::vector<int> integers; 244 std::vector<int> integers;
245 integers.push_back(1); 245 integers.push_back(1);
246 integers.push_back(2); 246 integers.push_back(2);
247 std::unique_ptr<base::ListValue> results = 247 std::unique_ptr<base::ListValue> results =
248 ReturnIntegerArray::Results::Create(integers); 248 ReturnIntegerArray::Results::Create(integers);
249 249
250 base::ListValue expected; 250 base::ListValue expected;
251 base::ListValue* expected_argument = new base::ListValue(); 251 base::ListValue* expected_argument = new base::ListValue();
252 expected_argument->Append(new base::FundamentalValue(1)); 252 expected_argument->AppendInteger(1);
253 expected_argument->Append(new base::FundamentalValue(2)); 253 expected_argument->AppendInteger(2);
254 expected.Append(expected_argument); 254 expected.Append(expected_argument);
255 EXPECT_TRUE(results->Equals(&expected)); 255 EXPECT_TRUE(results->Equals(&expected));
256 } 256 }
257 257
258 TEST(JsonSchemaCompilerArrayTest, ReturnRefArrayResultCreate) { 258 TEST(JsonSchemaCompilerArrayTest, ReturnRefArrayResultCreate) {
259 std::vector<Item> items; 259 std::vector<Item> items;
260 items.push_back(Item()); 260 items.push_back(Item());
261 items.push_back(Item()); 261 items.push_back(Item());
262 items[0].val = 1; 262 items[0].val = 1;
263 items[1].val = 2; 263 items[1].val = 2;
264 std::unique_ptr<base::ListValue> results = 264 std::unique_ptr<base::ListValue> results =
265 ReturnRefArray::Results::Create(items); 265 ReturnRefArray::Results::Create(items);
266 266
267 base::ListValue expected; 267 base::ListValue expected;
268 base::ListValue* expected_argument = new base::ListValue(); 268 base::ListValue* expected_argument = new base::ListValue();
269 base::DictionaryValue* first = new base::DictionaryValue(); 269 base::DictionaryValue* first = new base::DictionaryValue();
270 first->SetInteger("val", 1); 270 first->SetInteger("val", 1);
271 expected_argument->Append(first); 271 expected_argument->Append(first);
272 base::DictionaryValue* second = new base::DictionaryValue(); 272 base::DictionaryValue* second = new base::DictionaryValue();
273 second->SetInteger("val", 2); 273 second->SetInteger("val", 2);
274 expected_argument->Append(second); 274 expected_argument->Append(second);
275 expected.Append(expected_argument); 275 expected.Append(expected_argument);
276 EXPECT_TRUE(results->Equals(&expected)); 276 EXPECT_TRUE(results->Equals(&expected));
277 } 277 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698