OLD | NEW |
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/search/search.h" | 5 #include "components/search/search.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 | 8 |
9 #include "base/memory/ptr_util.h" | 9 #include "base/memory/ptr_util.h" |
10 #include "base/metrics/field_trial.h" | 10 #include "base/metrics/field_trial.h" |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 "Group78 foo:5")); | 98 "Group78 foo:5")); |
99 EXPECT_TRUE(GetFieldTrialInfo(&flags)); | 99 EXPECT_TRUE(GetFieldTrialInfo(&flags)); |
100 EXPECT_EQ(1ul, flags.size()); | 100 EXPECT_EQ(1ul, flags.size()); |
101 EXPECT_EQ(6ul, GetUInt64ValueForFlagWithDefault("foo", 9999, flags)); | 101 EXPECT_EQ(6ul, GetUInt64ValueForFlagWithDefault("foo", 9999, flags)); |
102 } | 102 } |
103 | 103 |
104 TEST_F(EmbeddedSearchFieldTrialTest, GetFieldTrialInfoLotsOfFlags) { | 104 TEST_F(EmbeddedSearchFieldTrialTest, GetFieldTrialInfoLotsOfFlags) { |
105 FieldTrialFlags flags; | 105 FieldTrialFlags flags; |
106 | 106 |
107 ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial( | 107 ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial( |
108 "EmbeddedSearch", "Group77 bar:1 baz:7 cat:dogs")); | 108 "EmbeddedSearch", "Group77 baz:7 cat:dogs")); |
109 EXPECT_TRUE(GetFieldTrialInfo(&flags)); | 109 EXPECT_TRUE(GetFieldTrialInfo(&flags)); |
110 EXPECT_EQ(3ul, flags.size()); | 110 EXPECT_EQ(2ul, flags.size()); |
111 EXPECT_EQ(true, GetBoolValueForFlagWithDefault("bar", false, flags)); | |
112 EXPECT_EQ(7ul, GetUInt64ValueForFlagWithDefault("baz", 0, flags)); | 111 EXPECT_EQ(7ul, GetUInt64ValueForFlagWithDefault("baz", 0, flags)); |
113 EXPECT_EQ("dogs", | |
114 GetStringValueForFlagWithDefault("cat", std::string(), flags)); | |
115 EXPECT_EQ("default", | |
116 GetStringValueForFlagWithDefault("moose", "default", flags)); | |
117 } | 112 } |
118 | 113 |
119 TEST_F(EmbeddedSearchFieldTrialTest, GetFieldTrialInfoDisabled) { | 114 TEST_F(EmbeddedSearchFieldTrialTest, GetFieldTrialInfoDisabled) { |
120 FieldTrialFlags flags; | 115 FieldTrialFlags flags; |
121 | 116 |
122 ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial( | 117 ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial( |
123 "EmbeddedSearch", "Group77 bar:1 baz:7 cat:dogs DISABLED")); | 118 "EmbeddedSearch", "Group77 bar:1 baz:7 cat:dogs DISABLED")); |
124 EXPECT_FALSE(GetFieldTrialInfo(&flags)); | 119 EXPECT_FALSE(GetFieldTrialInfo(&flags)); |
125 EXPECT_EQ(0ul, flags.size()); | 120 EXPECT_EQ(0ul, flags.size()); |
126 } | 121 } |
127 | 122 |
128 TEST_F(EmbeddedSearchFieldTrialTest, GetFieldTrialInfoControlFlags) { | 123 TEST_F(EmbeddedSearchFieldTrialTest, GetFieldTrialInfoControlFlags) { |
129 FieldTrialFlags flags; | 124 FieldTrialFlags flags; |
130 | 125 |
131 ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial( | 126 ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial( |
132 "EmbeddedSearch", "Control77 bar:1 baz:7 cat:dogs")); | 127 "EmbeddedSearch", "Control77 bar:1 baz:7 cat:dogs")); |
133 EXPECT_TRUE(GetFieldTrialInfo(&flags)); | 128 EXPECT_TRUE(GetFieldTrialInfo(&flags)); |
134 EXPECT_EQ(3ul, flags.size()); | 129 EXPECT_EQ(3ul, flags.size()); |
135 } | 130 } |
136 | 131 |
137 #if !defined(OS_IOS) && !defined(OS_ANDROID) | 132 #if !defined(OS_IOS) && !defined(OS_ANDROID) |
138 typedef EmbeddedSearchFieldTrialTest SearchTest; | 133 typedef EmbeddedSearchFieldTrialTest SearchTest; |
139 | 134 |
140 TEST_F(SearchTest, ShouldPrefetchSearchResults_InstantExtendedAPIEnabled) { | 135 TEST_F(SearchTest, ShouldPrefetchSearchResults_InstantExtendedAPIEnabled) { |
141 ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial("EmbeddedSearch", | 136 ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial("EmbeddedSearch", |
142 "Group1 espv:2")); | 137 "Group1 espv:2")); |
143 EXPECT_EQ(2ul, EmbeddedSearchPageVersion()); | 138 EXPECT_EQ(2ul, EmbeddedSearchPageVersion()); |
144 EXPECT_TRUE(ShouldPrefetchSearchResults()); | 139 EXPECT_TRUE(IsInstantExtendedAPIEnabled()); |
145 } | |
146 | |
147 TEST_F(SearchTest, ShouldPrefetchSearchResults_Default) { | |
148 EXPECT_TRUE(ShouldPrefetchSearchResults()); | |
149 } | |
150 | |
151 TEST_F(SearchTest, ShouldReuseInstantSearchBasePage_Default) { | |
152 EXPECT_TRUE(ShouldReuseInstantSearchBasePage()); | |
153 } | 140 } |
154 | 141 |
155 TEST_F(SearchTest, ForceInstantResultsParam) { | 142 TEST_F(SearchTest, ForceInstantResultsParam) { |
156 ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial("EmbeddedSearch", | 143 ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial("EmbeddedSearch", |
157 "Group1 espv:2")); | 144 "Group1 espv:2")); |
158 EXPECT_TRUE(IsInstantExtendedAPIEnabled()); | 145 EXPECT_TRUE(IsInstantExtendedAPIEnabled()); |
159 EXPECT_EQ("ion=1&", ForceInstantResultsParam(true)); | 146 EXPECT_EQ("ion=1&", ForceInstantResultsParam(true)); |
160 EXPECT_EQ(std::string(), ForceInstantResultsParam(false)); | 147 EXPECT_EQ(std::string(), ForceInstantResultsParam(false)); |
161 } | 148 } |
162 | 149 |
163 typedef EmbeddedSearchFieldTrialTest InstantExtendedEnabledParamTest; | 150 typedef EmbeddedSearchFieldTrialTest InstantExtendedEnabledParamTest; |
164 | 151 |
165 TEST_F(InstantExtendedEnabledParamTest, QueryExtractionDisabled) { | 152 TEST_F(InstantExtendedEnabledParamTest, QueryExtractionDisabled) { |
166 ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial("EmbeddedSearch", | 153 ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial("EmbeddedSearch", |
167 "Group1 espv:12")); | 154 "Group1 espv:12")); |
168 EXPECT_EQ("espv=12&", InstantExtendedEnabledParam()); | 155 EXPECT_EQ("espv=12&", InstantExtendedEnabledParam()); |
169 } | 156 } |
170 | 157 |
171 TEST_F(InstantExtendedEnabledParamTest, UseDefaultEmbeddedSearchPageVersion) { | 158 TEST_F(InstantExtendedEnabledParamTest, UseDefaultEmbeddedSearchPageVersion) { |
172 ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial( | 159 ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial( |
173 "EmbeddedSearch", "Group1 espv:-1")); | 160 "EmbeddedSearch", "Group1 espv:-1")); |
174 EXPECT_EQ("espv=2&", InstantExtendedEnabledParam()); | 161 EXPECT_EQ("espv=2&", InstantExtendedEnabledParam()); |
175 } | 162 } |
176 | 163 |
177 #endif // !defined(OS_IOS) && !defined(OS_ANDROID) | 164 #endif // !defined(OS_IOS) && !defined(OS_ANDROID) |
178 | 165 |
179 } // namespace search | 166 } // namespace search |
OLD | NEW |