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

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

Issue 2940973002: Omnibox UI Experiments: Implement scheme-trimming for suggested URLs. (Closed)
Patch Set: fix Created 3 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 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"
11 #include "base/test/scoped_feature_list.h"
12 #include "components/omnibox/browser/omnibox_field_trial.h"
11 #include "components/omnibox/browser/test_scheme_classifier.h" 13 #include "components/omnibox/browser/test_scheme_classifier.h"
12 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
15 #include "url/gurl.h"
13 16
14 TEST(AutocompleteMatchTest, MoreRelevant) { 17 TEST(AutocompleteMatchTest, MoreRelevant) {
15 struct RelevantCases { 18 struct RelevantCases {
16 int r1; 19 int r1;
17 int r2; 20 int r2;
18 bool expected_result; 21 bool expected_result;
19 } cases[] = { 22 } cases[] = {
20 { 10, 0, true }, 23 { 10, 0, true },
21 { 10, -5, true }, 24 { 10, -5, true },
22 { -5, 10, false }, 25 { -5, 10, false },
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 // Test an arbitrary complicated case. 104 // Test an arbitrary complicated case.
102 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",
103 AutocompleteMatch::ClassificationsToString( 106 AutocompleteMatch::ClassificationsToString(
104 AutocompleteMatch::MergeClassifications( 107 AutocompleteMatch::MergeClassifications(
105 AutocompleteMatch::ClassificationsFromString( 108 AutocompleteMatch::ClassificationsFromString(
106 "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"),
107 AutocompleteMatch::ClassificationsFromString( 110 AutocompleteMatch::ClassificationsFromString(
108 "0,2," "1,0," "5,7," "6,1," "17,0")))); 111 "0,2," "1,0," "5,7," "6,1," "17,0"))));
109 } 112 }
110 113
114 TEST(AutocompleteMatchTest, FormatUrlForSuggestionDisplay) {
115 struct FormatUrlTestData {
116 const std::string url;
117 bool trim_scheme;
118 size_t offset_for_adjustment;
119 const std::string expected_result;
120 size_t expected_adjusted_offset;
121
122 void Validate() {
123 SCOPED_TRACE(testing::Message()
124 << "url= " << url << "trim_scheme=" << trim_scheme
125 << "offset_for_adjustment=" << offset_for_adjustment
126 << "expected_result=" << expected_result
127 << "expected_adjusted_offset=" << expected_adjusted_offset);
128
129 size_t offset_result = offset_for_adjustment;
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 };
136 };
137
138 FormatUrlTestData normal_cases[] = {
139 {"http://google.com", true, 9, "google.com", 2},
140 {"https://google.com", true, 9, "https://google.com", 9},
141 {"http://google.com", false, 9, "http://google.com", 9},
142 {"https://google.com", false, 9, "https://google.com", 9},
143 };
144 for (size_t i = 0; i < arraysize(normal_cases); ++i) {
145 normal_cases[i].Validate();
146 }
147
148 std::unique_ptr<base::test::ScopedFeatureList> feature_list(
149 new base::test::ScopedFeatureList);
150 feature_list->InitAndEnableFeature(
151 omnibox::kUIExperimentHideSuggestionUrlScheme);
152
153 FormatUrlTestData omit_scheme_cases[] = {
Justin Donnelly 2017/06/20 17:31:01 We could use one or more cases here that result in
tommycli 2017/06/20 22:51:21 Done.
154 {"http://google.com", true, 9, "google.com", 2},
155 {"https://google.com", true, 9, "google.com", 1},
156 {"http://google.com", false, 9, "http://google.com", 9},
157 {"https://google.com", false, 9, "https://google.com", 9},
158 };
159 for (size_t i = 0; i < arraysize(omit_scheme_cases); ++i) {
160 omit_scheme_cases[i].Validate();
161 }
162 }
163
111 TEST(AutocompleteMatchTest, SupportsDeletion) { 164 TEST(AutocompleteMatchTest, SupportsDeletion) {
112 // A non-deletable match with no duplicates. 165 // A non-deletable match with no duplicates.
113 AutocompleteMatch m(NULL, 0, false, 166 AutocompleteMatch m(NULL, 0, false,
114 AutocompleteMatchType::URL_WHAT_YOU_TYPED); 167 AutocompleteMatchType::URL_WHAT_YOU_TYPED);
115 EXPECT_FALSE(m.SupportsDeletion()); 168 EXPECT_FALSE(m.SupportsDeletion());
116 169
117 // A deletable match with no duplicates. 170 // A deletable match with no duplicates.
118 AutocompleteMatch m1(NULL, 0, true, 171 AutocompleteMatch m1(NULL, 0, true,
119 AutocompleteMatchType::URL_WHAT_YOU_TYPED); 172 AutocompleteMatchType::URL_WHAT_YOU_TYPED);
120 EXPECT_TRUE(m1.SupportsDeletion()); 173 EXPECT_TRUE(m1.SupportsDeletion());
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 m1.destination_url = GURL(cases[i].url1); 247 m1.destination_url = GURL(cases[i].url1);
195 m1.ComputeStrippedDestinationURL(input, nullptr); 248 m1.ComputeStrippedDestinationURL(input, nullptr);
196 AutocompleteMatch m2(nullptr, 100, false, 249 AutocompleteMatch m2(nullptr, 100, false,
197 AutocompleteMatchType::URL_WHAT_YOU_TYPED); 250 AutocompleteMatchType::URL_WHAT_YOU_TYPED);
198 m2.destination_url = GURL(cases[i].url2); 251 m2.destination_url = GURL(cases[i].url2);
199 m2.ComputeStrippedDestinationURL(input, nullptr); 252 m2.ComputeStrippedDestinationURL(input, nullptr);
200 EXPECT_EQ(cases[i].expected_duplicate, 253 EXPECT_EQ(cases[i].expected_duplicate,
201 AutocompleteMatch::DestinationsEqual(m1, m2)); 254 AutocompleteMatch::DestinationsEqual(m1, m2));
202 } 255 }
203 } 256 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698