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

Side by Side Diff: components/omnibox/browser/autocomplete_match_unittest.cc

Issue 2963883002: Omnibox UI Experiments: Refactor HTTPS trimming into UrlFormatter. (Closed)
Patch Set: Created 3 years, 5 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/omnibox/browser/autocomplete_match.h" 5 #include "components/omnibox/browser/autocomplete_match.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 // Test an arbitrary complicated case. 104 // Test an arbitrary complicated case.
105 EXPECT_EQ("0,2," "1,0," "2,1," "4,3," "5,7," "6,3," "7,7," "15,1," "17,0", 105 EXPECT_EQ("0,2," "1,0," "2,1," "4,3," "5,7," "6,3," "7,7," "15,1," "17,0",
106 AutocompleteMatch::ClassificationsToString( 106 AutocompleteMatch::ClassificationsToString(
107 AutocompleteMatch::MergeClassifications( 107 AutocompleteMatch::MergeClassifications(
108 AutocompleteMatch::ClassificationsFromString( 108 AutocompleteMatch::ClassificationsFromString(
109 "0,0," "2,1," "4,3," "7,7," "10,6," "15,0"), 109 "0,0," "2,1," "4,3," "7,7," "10,6," "15,0"),
110 AutocompleteMatch::ClassificationsFromString( 110 AutocompleteMatch::ClassificationsFromString(
111 "0,2," "1,0," "5,7," "6,1," "17,0")))); 111 "0,2," "1,0," "5,7," "6,1," "17,0"))));
112 } 112 }
113 113
114 TEST(AutocompleteMatchTest, FormatUrlForSuggestionDisplay) { 114 TEST(AutocompleteMatchTest, FormatUrlForSuggestionDisplay) {
tommycli 2017/06/28 22:29:02 Modify this test to solely do the sanity check for
Peter Kasting 2017/06/28 23:09:59 In that case it seems like you don't need |normal_
tommycli 2017/06/29 00:19:43 Done. I revamped this to only sanity check the for
115 struct FormatUrlTestData { 115 struct FormatUrlTestData {
116 const std::string url; 116 const std::string url;
117 bool trim_scheme; 117 bool trim_scheme;
118 size_t offset_for_adjustment;
119 const std::string expected_result; 118 const std::string expected_result;
120 size_t expected_adjusted_offset;
121 119
122 void Validate() { 120 void Validate() {
123 SCOPED_TRACE(testing::Message() 121 SCOPED_TRACE(testing::Message()
124 << " url= " << url << " trim_scheme=" << trim_scheme 122 << " url= " << url << " trim_scheme=" << trim_scheme
125 << " offset_for_adjustment=" << offset_for_adjustment 123 << " expected_result=" << expected_result);
126 << " expected_result=" << expected_result 124 EXPECT_EQ(
127 << " expected_adjusted_offset=" << expected_adjusted_offset); 125 expected_result,
128 126 base::UTF16ToASCII(AutocompleteMatch::FormatUrlForSuggestionDisplay(
129 size_t offset_result = offset_for_adjustment; 127 GURL(url), trim_scheme, nullptr)));
130 base::string16 result = AutocompleteMatch::FormatUrlForSuggestionDisplay(
131 GURL(url), trim_scheme, &offset_result);
132
133 EXPECT_EQ(expected_result, base::UTF16ToASCII(result));
134 EXPECT_EQ(expected_adjusted_offset, offset_result);
135 }; 128 };
136 }; 129 };
137 130
138 FormatUrlTestData normal_cases[] = { 131 FormatUrlTestData normal_cases[] = {
139 {"http://google.com", true, 9, "google.com", 2}, 132 {"http://google.com", true, "google.com"},
140 {"https://google.com", true, 9, "https://google.com", 9}, 133 {"https://google.com", true, "https://google.com"},
141 {"http://google.com", false, 9, "http://google.com", 9}, 134 {"http://google.com", false, "http://google.com"},
142 {"https://google.com", false, 9, "https://google.com", 9}, 135 {"https://google.com", false, "https://google.com"},
143 }; 136 };
144 for (size_t i = 0; i < arraysize(normal_cases); ++i) { 137 for (FormatUrlTestData& test_case : normal_cases) {
145 normal_cases[i].Validate(); 138 test_case.Validate();
146 } 139 }
147 140
148 std::unique_ptr<base::test::ScopedFeatureList> feature_list( 141 std::unique_ptr<base::test::ScopedFeatureList> feature_list(
149 new base::test::ScopedFeatureList); 142 new base::test::ScopedFeatureList);
150 feature_list->InitAndEnableFeature( 143 feature_list->InitAndEnableFeature(
151 omnibox::kUIExperimentHideSuggestionUrlScheme); 144 omnibox::kUIExperimentHideSuggestionUrlScheme);
152 145
153 FormatUrlTestData omit_scheme_cases[] = { 146 FormatUrlTestData omit_scheme_cases[] = {
154 {"http://google.com", true, 9, "google.com", 2}, 147 {"http://google.com", true, "google.com"},
155 {"https://google.com", true, 9, "google.com", 1}, 148 {"https://google.com", true, "google.com"},
156 {"https://username:password@google.com", true, 9, "google.com", 149 {"http://google.com", false, "http://google.com"},
157 base::string16::npos}, 150 {"https://google.com", false, "https://google.com"},
158 {"https://username:password@google.com", true, 29, "google.com", 3},
159 {"http://google.com", false, 9, "http://google.com", 9},
160 {"https://google.com", false, 9, "https://google.com", 9},
161 {"http://username:password@google.com", false, 9, "http://google.com",
162 base::string16::npos},
163 }; 151 };
164 for (size_t i = 0; i < arraysize(omit_scheme_cases); ++i) { 152 for (FormatUrlTestData& test_case : omit_scheme_cases) {
165 omit_scheme_cases[i].Validate(); 153 test_case.Validate();
166 } 154 }
167 } 155 }
168 156
169 TEST(AutocompleteMatchTest, SupportsDeletion) { 157 TEST(AutocompleteMatchTest, SupportsDeletion) {
170 // A non-deletable match with no duplicates. 158 // A non-deletable match with no duplicates.
171 AutocompleteMatch m(NULL, 0, false, 159 AutocompleteMatch m(NULL, 0, false,
172 AutocompleteMatchType::URL_WHAT_YOU_TYPED); 160 AutocompleteMatchType::URL_WHAT_YOU_TYPED);
173 EXPECT_FALSE(m.SupportsDeletion()); 161 EXPECT_FALSE(m.SupportsDeletion());
174 162
175 // A deletable match with no duplicates. 163 // A deletable match with no duplicates.
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
252 m1.destination_url = GURL(cases[i].url1); 240 m1.destination_url = GURL(cases[i].url1);
253 m1.ComputeStrippedDestinationURL(input, nullptr); 241 m1.ComputeStrippedDestinationURL(input, nullptr);
254 AutocompleteMatch m2(nullptr, 100, false, 242 AutocompleteMatch m2(nullptr, 100, false,
255 AutocompleteMatchType::URL_WHAT_YOU_TYPED); 243 AutocompleteMatchType::URL_WHAT_YOU_TYPED);
256 m2.destination_url = GURL(cases[i].url2); 244 m2.destination_url = GURL(cases[i].url2);
257 m2.ComputeStrippedDestinationURL(input, nullptr); 245 m2.ComputeStrippedDestinationURL(input, nullptr);
258 EXPECT_EQ(cases[i].expected_duplicate, 246 EXPECT_EQ(cases[i].expected_duplicate,
259 AutocompleteMatch::DestinationsEqual(m1, m2)); 247 AutocompleteMatch::DestinationsEqual(m1, m2));
260 } 248 }
261 } 249 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698