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

Unified Diff: base/metrics/field_trial_unittest.cc

Issue 17945002: Make --force-fieldtrials not activate them in the browser process. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 7 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 side-by-side diff with in-line comments
Download patch
Index: base/metrics/field_trial_unittest.cc
===================================================================
--- base/metrics/field_trial_unittest.cc (revision 208942)
+++ base/metrics/field_trial_unittest.cc (working copy)
@@ -393,7 +393,7 @@
ASSERT_FALSE(FieldTrialList::TrialExists("Some_name"));
ASSERT_FALSE(FieldTrialList::TrialExists("xxx"));
- FieldTrialList::CreateTrialsFromString("Some_name/Winner/xxx/yyyy/");
+ FieldTrialList::CreateTrialsFromString("Some_name/Winner/xxx/yyyy/", false);
FieldTrial* trial = FieldTrialList::Find("Some_name");
ASSERT_NE(static_cast<FieldTrial*>(NULL), trial);
@@ -407,12 +407,13 @@
}
TEST_F(FieldTrialTest, BogusRestore) {
- EXPECT_FALSE(FieldTrialList::CreateTrialsFromString("MissingSlash"));
- EXPECT_FALSE(FieldTrialList::CreateTrialsFromString("MissingGroupName/"));
- EXPECT_FALSE(FieldTrialList::CreateTrialsFromString(
- "MissingFinalSlash/gname"));
- EXPECT_FALSE(FieldTrialList::CreateTrialsFromString(
- "noname, only group/"));
+ EXPECT_FALSE(FieldTrialList::CreateTrialsFromString("MissingSlash", false));
+ EXPECT_FALSE(FieldTrialList::CreateTrialsFromString("MissingGroupName/",
+ false));
+ EXPECT_FALSE(FieldTrialList::CreateTrialsFromString("MissingFinalSlash/gname",
+ false));
+ EXPECT_FALSE(FieldTrialList::CreateTrialsFromString("noname, only group/",
+ false));
}
TEST_F(FieldTrialTest, DuplicateRestore) {
@@ -426,16 +427,17 @@
EXPECT_EQ("Some name/Winner/", save_string);
// It is OK if we redundantly specify a winner.
- EXPECT_TRUE(FieldTrialList::CreateTrialsFromString(save_string));
+ EXPECT_TRUE(FieldTrialList::CreateTrialsFromString(save_string, false));
// But it is an error to try to change to a different winner.
- EXPECT_FALSE(FieldTrialList::CreateTrialsFromString("Some name/Loser/"));
+ EXPECT_FALSE(FieldTrialList::CreateTrialsFromString("Some name/Loser/",
+ false));
}
-TEST_F(FieldTrialTest, CreateTrialsFromStringAreActive) {
+TEST_F(FieldTrialTest, CreateTrialsFromStringActive) {
ASSERT_FALSE(FieldTrialList::TrialExists("Abc"));
ASSERT_FALSE(FieldTrialList::TrialExists("Xyz"));
- ASSERT_TRUE(FieldTrialList::CreateTrialsFromString("Abc/def/Xyz/zyx/"));
+ ASSERT_TRUE(FieldTrialList::CreateTrialsFromString("Abc/def/Xyz/zyx/", true));
FieldTrial::ActiveGroups active_groups;
FieldTrialList::GetActiveFieldTrialGroups(&active_groups);
@@ -446,17 +448,56 @@
EXPECT_EQ("zyx", active_groups[1].group_name);
}
-TEST_F(FieldTrialTest, CreateTrialsFromStringObserver) {
+TEST_F(FieldTrialTest, CreateTrialsFromStringNotActive) {
ASSERT_FALSE(FieldTrialList::TrialExists("Abc"));
+ ASSERT_FALSE(FieldTrialList::TrialExists("Xyz"));
+ ASSERT_TRUE(FieldTrialList::CreateTrialsFromString("Abc/def/Xyz/zyx/",
+ false));
+ FieldTrial::ActiveGroups active_groups;
+ FieldTrialList::GetActiveFieldTrialGroups(&active_groups);
+ ASSERT_TRUE(active_groups.empty());
+
+ // Check that the values still get returned and querying them activates them.
+ EXPECT_EQ("def", FieldTrialList::FindFullName("Abc"));
+ EXPECT_EQ("zyx", FieldTrialList::FindFullName("Xyz"));
+
+ FieldTrialList::GetActiveFieldTrialGroups(&active_groups);
+ ASSERT_EQ(2U, active_groups.size());
+ EXPECT_EQ("Abc", active_groups[0].trial_name);
+ EXPECT_EQ("def", active_groups[0].group_name);
+ EXPECT_EQ("Xyz", active_groups[1].trial_name);
+ EXPECT_EQ("zyx", active_groups[1].group_name);
+}
+
+TEST_F(FieldTrialTest, CreateTrialsFromStringActiveObserver) {
+ ASSERT_FALSE(FieldTrialList::TrialExists("Abc"));
+
TestFieldTrialObserver observer;
- ASSERT_TRUE(FieldTrialList::CreateTrialsFromString("Abc/def/"));
+ ASSERT_TRUE(FieldTrialList::CreateTrialsFromString("Abc/def/", true));
RunLoop().RunUntilIdle();
EXPECT_EQ("Abc", observer.trial_name());
EXPECT_EQ("def", observer.group_name());
}
+TEST_F(FieldTrialTest, CreateTrialsFromStringNotActiveObserver) {
+ ASSERT_FALSE(FieldTrialList::TrialExists("Abc"));
+
+ TestFieldTrialObserver observer;
+ ASSERT_TRUE(FieldTrialList::CreateTrialsFromString("Abc/def/", false));
+ RunLoop().RunUntilIdle();
+ // Observer shouldn't be notified.
+ EXPECT_TRUE(observer.trial_name().empty());
+
+ // Check that the values still get returned and querying them activates them.
+ EXPECT_EQ("def", FieldTrialList::FindFullName("Abc"));
+
+ RunLoop().RunUntilIdle();
+ EXPECT_EQ("Abc", observer.trial_name());
+ EXPECT_EQ("def", observer.group_name());
+}
+
TEST_F(FieldTrialTest, CreateFieldTrial) {
ASSERT_FALSE(FieldTrialList::TrialExists("Some_name"));

Powered by Google App Engine
This is Rietveld 408576698