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

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

Issue 2182553002: Add other variations (with ids) for NTPSnippets to chrome://flags (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Alexei's comment #5 + fix a bug Created 4 years, 4 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/variations_http_header_provider.h" 5 #include "components/variations/variations_http_header_provider.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/base64.h" 9 #include "base/base64.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 ~VariationsHttpHeaderProviderTest() override {} 58 ~VariationsHttpHeaderProviderTest() override {}
59 59
60 void TearDown() override { testing::ClearAllVariationIDs(); } 60 void TearDown() override { testing::ClearAllVariationIDs(); }
61 }; 61 };
62 62
63 TEST_F(VariationsHttpHeaderProviderTest, SetDefaultVariationIds_Valid) { 63 TEST_F(VariationsHttpHeaderProviderTest, SetDefaultVariationIds_Valid) {
64 base::MessageLoop loop; 64 base::MessageLoop loop;
65 VariationsHttpHeaderProvider provider; 65 VariationsHttpHeaderProvider provider;
66 66
67 // Valid experiment ids. 67 // Valid experiment ids.
68 EXPECT_TRUE(provider.SetDefaultVariationIds("12,456,t789")); 68 EXPECT_TRUE(provider.SetDefaultVariationIds({"12", "456", "t789"}));
69 provider.InitVariationIDsCacheIfNeeded(); 69 provider.InitVariationIDsCacheIfNeeded();
70 std::string variations = provider.GetClientDataHeader(); 70 std::string variations = provider.GetClientDataHeader();
71 EXPECT_FALSE(variations.empty()); 71 EXPECT_FALSE(variations.empty());
72 std::set<VariationID> variation_ids; 72 std::set<VariationID> variation_ids;
73 std::set<VariationID> trigger_ids; 73 std::set<VariationID> trigger_ids;
74 ASSERT_TRUE(ExtractVariationIds(variations, &variation_ids, &trigger_ids)); 74 ASSERT_TRUE(ExtractVariationIds(variations, &variation_ids, &trigger_ids));
75 EXPECT_TRUE(variation_ids.find(12) != variation_ids.end()); 75 EXPECT_TRUE(variation_ids.find(12) != variation_ids.end());
76 EXPECT_TRUE(variation_ids.find(456) != variation_ids.end()); 76 EXPECT_TRUE(variation_ids.find(456) != variation_ids.end());
77 EXPECT_TRUE(trigger_ids.find(789) != trigger_ids.end()); 77 EXPECT_TRUE(trigger_ids.find(789) != trigger_ids.end());
78 EXPECT_FALSE(variation_ids.find(789) != variation_ids.end()); 78 EXPECT_FALSE(variation_ids.find(789) != variation_ids.end());
79 } 79 }
80 80
81 TEST_F(VariationsHttpHeaderProviderTest, SetDefaultVariationIds_Invalid) { 81 TEST_F(VariationsHttpHeaderProviderTest, SetDefaultVariationIds_Invalid) {
82 base::MessageLoop loop; 82 base::MessageLoop loop;
83 VariationsHttpHeaderProvider provider; 83 VariationsHttpHeaderProvider provider;
84 84
85 // Invalid experiment ids. 85 // Invalid experiment ids.
86 EXPECT_FALSE(provider.SetDefaultVariationIds("abcd12,456")); 86 EXPECT_FALSE(provider.SetDefaultVariationIds(
87 std::vector<std::string>{"abcd12", "456"}));
87 provider.InitVariationIDsCacheIfNeeded(); 88 provider.InitVariationIDsCacheIfNeeded();
88 EXPECT_TRUE(provider.GetClientDataHeader().empty()); 89 EXPECT_TRUE(provider.GetClientDataHeader().empty());
89 90
90 // Invalid trigger experiment id 91 // Invalid trigger experiment id
91 EXPECT_FALSE(provider.SetDefaultVariationIds("12,tabc456")); 92 EXPECT_FALSE(provider.SetDefaultVariationIds(
93 std::vector<std::string>{"12", "tabc456"}));
92 provider.InitVariationIDsCacheIfNeeded(); 94 provider.InitVariationIDsCacheIfNeeded();
93 EXPECT_TRUE(provider.GetClientDataHeader().empty()); 95 EXPECT_TRUE(provider.GetClientDataHeader().empty());
94 } 96 }
95 97
96 TEST_F(VariationsHttpHeaderProviderTest, OnFieldTrialGroupFinalized) { 98 TEST_F(VariationsHttpHeaderProviderTest, OnFieldTrialGroupFinalized) {
97 base::MessageLoop loop; 99 base::MessageLoop loop;
98 base::FieldTrialList field_trial_list(nullptr); 100 base::FieldTrialList field_trial_list(nullptr);
99 VariationsHttpHeaderProvider provider; 101 VariationsHttpHeaderProvider provider;
100 provider.InitVariationIDsCacheIfNeeded(); 102 provider.InitVariationIDsCacheIfNeeded();
101 103
(...skipping 22 matching lines...) Expand all
124 } 126 }
125 127
126 TEST_F(VariationsHttpHeaderProviderTest, GetVariationsString) { 128 TEST_F(VariationsHttpHeaderProviderTest, GetVariationsString) {
127 base::MessageLoop loop; 129 base::MessageLoop loop;
128 base::FieldTrialList field_trial_list(nullptr); 130 base::FieldTrialList field_trial_list(nullptr);
129 131
130 CreateTrialAndAssociateId("t1", "g1", GOOGLE_WEB_PROPERTIES, 123); 132 CreateTrialAndAssociateId("t1", "g1", GOOGLE_WEB_PROPERTIES, 123);
131 CreateTrialAndAssociateId("t2", "g2", GOOGLE_WEB_PROPERTIES, 124); 133 CreateTrialAndAssociateId("t2", "g2", GOOGLE_WEB_PROPERTIES, 124);
132 134
133 VariationsHttpHeaderProvider provider; 135 VariationsHttpHeaderProvider provider;
134 provider.SetDefaultVariationIds("100,200"); 136 std::vector<std::string> ids;
137 ids.push_back("100");
138 ids.push_back("200");
139 provider.SetDefaultVariationIds(ids);
135 EXPECT_EQ(" 100 123 124 200 ", provider.GetVariationsString()); 140 EXPECT_EQ(" 100 123 124 200 ", provider.GetVariationsString());
136 } 141 }
137 142
138 } // namespace variations 143 } // namespace variations
OLDNEW
« no previous file with comments | « components/variations/variations_http_header_provider.cc ('k') | ios/chrome/browser/about_flags.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698