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

Side by Side Diff: components/variations/study_filtering_unittest.cc

Issue 658993002: Convert ARRAYSIZE_UNSAFE -> arraysize in components/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "components/variations/study_filtering.h" 5 #include "components/variations/study_filtering.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/strings/string_split.h" 9 #include "base/strings/string_split.h"
10 #include "components/variations/processed_study.h" 10 #include "components/variations/processed_study.h"
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 } test_cases[] = { 131 } test_cases[] = {
132 {"en-US", true, false, false}, 132 {"en-US", true, false, false},
133 {"en-US,en-CA,fr", true, true, true}, 133 {"en-US,en-CA,fr", true, true, true},
134 {"en-US,en-CA,en-GB", true, true, false}, 134 {"en-US,en-CA,en-GB", true, true, false},
135 {"en-GB,en-CA,en-US", true, true, false}, 135 {"en-GB,en-CA,en-US", true, true, false},
136 {"ja,kr,vi", false, false, false}, 136 {"ja,kr,vi", false, false, false},
137 {"fr-CA", false, false, false}, 137 {"fr-CA", false, false, false},
138 {"", true, true, true}, 138 {"", true, true, true},
139 }; 139 };
140 140
141 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_cases); ++i) { 141 for (size_t i = 0; i < arraysize(test_cases); ++i) {
142 std::vector<std::string> filter_locales; 142 std::vector<std::string> filter_locales;
143 Study_Filter filter; 143 Study_Filter filter;
144 base::SplitString(test_cases[i].filter_locales, ',', &filter_locales); 144 base::SplitString(test_cases[i].filter_locales, ',', &filter_locales);
145 for (size_t j = 0; j < filter_locales.size(); ++j) 145 for (size_t j = 0; j < filter_locales.size(); ++j)
146 filter.add_locale(filter_locales[j]); 146 filter.add_locale(filter_locales[j]);
147 EXPECT_EQ(test_cases[i].en_us_result, 147 EXPECT_EQ(test_cases[i].en_us_result,
148 internal::CheckStudyLocale(filter, "en-US")); 148 internal::CheckStudyLocale(filter, "en-US"));
149 EXPECT_EQ(test_cases[i].en_ca_result, 149 EXPECT_EQ(test_cases[i].en_ca_result,
150 internal::CheckStudyLocale(filter, "en-CA")); 150 internal::CheckStudyLocale(filter, "en-CA"));
151 EXPECT_EQ(test_cases[i].fr_result, 151 EXPECT_EQ(test_cases[i].fr_result,
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 { now - delta, true }, 211 { now - delta, true },
212 { now, true }, 212 { now, true },
213 { now + delta, false }, 213 { now + delta, false },
214 }; 214 };
215 215
216 Study_Filter filter; 216 Study_Filter filter;
217 217
218 // Start date not set should result in true. 218 // Start date not set should result in true.
219 EXPECT_TRUE(internal::CheckStudyStartDate(filter, now)); 219 EXPECT_TRUE(internal::CheckStudyStartDate(filter, now));
220 220
221 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(start_test_cases); ++i) { 221 for (size_t i = 0; i < arraysize(start_test_cases); ++i) {
222 filter.set_start_date(TimeToProtoTime(start_test_cases[i].start_date)); 222 filter.set_start_date(TimeToProtoTime(start_test_cases[i].start_date));
223 const bool result = internal::CheckStudyStartDate(filter, now); 223 const bool result = internal::CheckStudyStartDate(filter, now);
224 EXPECT_EQ(start_test_cases[i].expected_result, result) 224 EXPECT_EQ(start_test_cases[i].expected_result, result)
225 << "Case " << i << " failed!"; 225 << "Case " << i << " failed!";
226 } 226 }
227 } 227 }
228 228
229 TEST(VariationsStudyFilteringTest, CheckStudyVersion) { 229 TEST(VariationsStudyFilteringTest, CheckStudyVersion) {
230 const struct { 230 const struct {
231 const char* min_version; 231 const char* min_version;
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
266 { "2.4.*", "2.3.4", true }, 266 { "2.4.*", "2.3.4", true },
267 { "1.3.*", "2.3.4", false }, 267 { "1.3.*", "2.3.4", false },
268 { "1.*", "2.3.4", false }, 268 { "1.*", "2.3.4", false },
269 }; 269 };
270 270
271 Study_Filter filter; 271 Study_Filter filter;
272 272
273 // Min/max version not set should result in true. 273 // Min/max version not set should result in true.
274 EXPECT_TRUE(internal::CheckStudyVersion(filter, base::Version("1.2.3"))); 274 EXPECT_TRUE(internal::CheckStudyVersion(filter, base::Version("1.2.3")));
275 275
276 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(min_test_cases); ++i) { 276 for (size_t i = 0; i < arraysize(min_test_cases); ++i) {
277 filter.set_min_version(min_test_cases[i].min_version); 277 filter.set_min_version(min_test_cases[i].min_version);
278 const bool result = 278 const bool result =
279 internal::CheckStudyVersion(filter, Version(min_test_cases[i].version)); 279 internal::CheckStudyVersion(filter, Version(min_test_cases[i].version));
280 EXPECT_EQ(min_test_cases[i].expected_result, result) << 280 EXPECT_EQ(min_test_cases[i].expected_result, result) <<
281 "Min. version case " << i << " failed!"; 281 "Min. version case " << i << " failed!";
282 } 282 }
283 filter.clear_min_version(); 283 filter.clear_min_version();
284 284
285 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(max_test_cases); ++i) { 285 for (size_t i = 0; i < arraysize(max_test_cases); ++i) {
286 filter.set_max_version(max_test_cases[i].max_version); 286 filter.set_max_version(max_test_cases[i].max_version);
287 const bool result = 287 const bool result =
288 internal::CheckStudyVersion(filter, Version(max_test_cases[i].version)); 288 internal::CheckStudyVersion(filter, Version(max_test_cases[i].version));
289 EXPECT_EQ(max_test_cases[i].expected_result, result) << 289 EXPECT_EQ(max_test_cases[i].expected_result, result) <<
290 "Max version case " << i << " failed!"; 290 "Max version case " << i << " failed!";
291 } 291 }
292 292
293 // Check intersection semantics. 293 // Check intersection semantics.
294 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(min_test_cases); ++i) { 294 for (size_t i = 0; i < arraysize(min_test_cases); ++i) {
295 for (size_t j = 0; j < ARRAYSIZE_UNSAFE(max_test_cases); ++j) { 295 for (size_t j = 0; j < arraysize(max_test_cases); ++j) {
296 filter.set_min_version(min_test_cases[i].min_version); 296 filter.set_min_version(min_test_cases[i].min_version);
297 filter.set_max_version(max_test_cases[j].max_version); 297 filter.set_max_version(max_test_cases[j].max_version);
298 298
299 if (!min_test_cases[i].expected_result) { 299 if (!min_test_cases[i].expected_result) {
300 const bool result = 300 const bool result =
301 internal::CheckStudyVersion( 301 internal::CheckStudyVersion(
302 filter, Version(min_test_cases[i].version)); 302 filter, Version(min_test_cases[i].version));
303 EXPECT_FALSE(result) << "Case " << i << "," << j << " failed!"; 303 EXPECT_FALSE(result) << "Case " << i << "," << j << " failed!";
304 } 304 }
305 305
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
346 {"", "apple,pear,orange", "fancy INTEL pear GRAPE device", false}, 346 {"", "apple,pear,orange", "fancy INTEL pear GRAPE device", false},
347 // Substring, so still invalid. 347 // Substring, so still invalid.
348 {"", "apple,pear,orange", "fancy INTEL SNapple device", false}, 348 {"", "apple,pear,orange", "fancy INTEL SNapple device", false},
349 // Empty. 349 // Empty.
350 {"", "apple,pear,orange", "", true}, 350 {"", "apple,pear,orange", "", true},
351 351
352 // Not testing when both are set as it should never occur and should be 352 // Not testing when both are set as it should never occur and should be
353 // considered undefined. 353 // considered undefined.
354 }; 354 };
355 355
356 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_cases); ++i) { 356 for (size_t i = 0; i < arraysize(test_cases); ++i) {
357 Study_Filter filter; 357 Study_Filter filter;
358 std::vector<std::string> hardware_class; 358 std::vector<std::string> hardware_class;
359 base::SplitString(test_cases[i].hardware_class, ',', &hardware_class); 359 base::SplitString(test_cases[i].hardware_class, ',', &hardware_class);
360 for (size_t j = 0; j < hardware_class.size(); ++j) 360 for (size_t j = 0; j < hardware_class.size(); ++j)
361 filter.add_hardware_class(hardware_class[j]); 361 filter.add_hardware_class(hardware_class[j]);
362 362
363 std::vector<std::string> exclude_hardware_class; 363 std::vector<std::string> exclude_hardware_class;
364 base::SplitString(test_cases[i].exclude_hardware_class, ',', 364 base::SplitString(test_cases[i].exclude_hardware_class, ',',
365 &exclude_hardware_class); 365 &exclude_hardware_class);
366 for (size_t j = 0; j < exclude_hardware_class.size(); ++j) 366 for (size_t j = 0; j < exclude_hardware_class.size(); ++j)
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
417 { now - delta, true }, 417 { now - delta, true },
418 { now, true }, 418 { now, true },
419 { now + delta, false }, 419 { now + delta, false },
420 }; 420 };
421 421
422 Study study; 422 Study study;
423 423
424 // Expiry date not set should result in false. 424 // Expiry date not set should result in false.
425 EXPECT_FALSE(internal::IsStudyExpired(study, now)); 425 EXPECT_FALSE(internal::IsStudyExpired(study, now));
426 426
427 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(expiry_test_cases); ++i) { 427 for (size_t i = 0; i < arraysize(expiry_test_cases); ++i) {
428 study.set_expiry_date(TimeToProtoTime(expiry_test_cases[i].expiry_date)); 428 study.set_expiry_date(TimeToProtoTime(expiry_test_cases[i].expiry_date));
429 const bool result = internal::IsStudyExpired(study, now); 429 const bool result = internal::IsStudyExpired(study, now);
430 EXPECT_EQ(expiry_test_cases[i].expected_result, result) 430 EXPECT_EQ(expiry_test_cases[i].expected_result, result)
431 << "Case " << i << " failed!"; 431 << "Case " << i << " failed!";
432 } 432 }
433 } 433 }
434 434
435 TEST(VariationsStudyFilteringTest, ValidateStudy) { 435 TEST(VariationsStudyFilteringTest, ValidateStudy) {
436 Study study; 436 Study study;
437 study.set_default_experiment_name("def"); 437 study.set_default_experiment_name("def");
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
470 470
471 default_group->set_name("def"); 471 default_group->set_name("def");
472 EXPECT_TRUE(processed_study.Init(&study, false)); 472 EXPECT_TRUE(processed_study.Init(&study, false));
473 Study_Experiment* repeated_group = study.add_experiment(); 473 Study_Experiment* repeated_group = study.add_experiment();
474 repeated_group->set_name("abc"); 474 repeated_group->set_name("abc");
475 repeated_group->set_probability_weight(1); 475 repeated_group->set_probability_weight(1);
476 EXPECT_FALSE(processed_study.Init(&study, false)); 476 EXPECT_FALSE(processed_study.Init(&study, false));
477 } 477 }
478 478
479 } // namespace variations 479 } // namespace variations
OLDNEW
« no previous file with comments | « components/variations/metrics_util_unittest.cc ('k') | components/variations/variations_http_header_provider_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698