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

Side by Side Diff: chrome/browser/ui/app_list/search/omnibox_result_unittest.cc

Issue 1865213004: Convert //chrome/browser/ui from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 8 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 "chrome/browser/ui/app_list/search/omnibox_result.h" 5 #include "chrome/browser/ui/app_list/search/omnibox_result.h"
6 6
7 #include <memory>
8
7 #include "base/macros.h" 9 #include "base/macros.h"
8 #include "base/memory/scoped_ptr.h"
9 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
10 #include "chrome/browser/ui/app_list/app_list_test_util.h" 11 #include "chrome/browser/ui/app_list/app_list_test_util.h"
11 #include "chrome/browser/ui/app_list/test/test_app_list_controller_delegate.h" 12 #include "chrome/browser/ui/app_list/test/test_app_list_controller_delegate.h"
12 #include "chrome/test/base/testing_profile.h" 13 #include "chrome/test/base/testing_profile.h"
13 #include "components/omnibox/browser/autocomplete_match.h" 14 #include "components/omnibox/browser/autocomplete_match.h"
14 #include "components/omnibox/browser/autocomplete_match_type.h" 15 #include "components/omnibox/browser/autocomplete_match_type.h"
15 #include "components/search_engines/template_url.h" 16 #include "components/search_engines/template_url.h"
16 17
17 namespace app_list { 18 namespace app_list {
18 namespace test { 19 namespace test {
(...skipping 26 matching lines...) Expand all
45 ~OmniboxResultTest() override {} 46 ~OmniboxResultTest() override {}
46 47
47 // AppListTestBase overrides: 48 // AppListTestBase overrides:
48 void SetUp() override { 49 void SetUp() override {
49 AppListTestBase::SetUp(); 50 AppListTestBase::SetUp();
50 51
51 app_list_controller_delegate_.reset( 52 app_list_controller_delegate_.reset(
52 new ::test::TestAppListControllerDelegate); 53 new ::test::TestAppListControllerDelegate);
53 } 54 }
54 55
55 scoped_ptr<OmniboxResult> CreateOmniboxResult( 56 std::unique_ptr<OmniboxResult> CreateOmniboxResult(
56 const std::string& original_query, 57 const std::string& original_query,
57 int relevance, 58 int relevance,
58 const std::string& destination_url, 59 const std::string& destination_url,
59 const std::string& contents, 60 const std::string& contents,
60 const std::string& description, 61 const std::string& description,
61 AutocompleteMatchType::Type type, 62 AutocompleteMatchType::Type type,
62 const std::string& keyword, 63 const std::string& keyword,
63 bool is_voice_query) { 64 bool is_voice_query) {
64 AutocompleteMatch match; 65 AutocompleteMatch match;
65 match.search_terms_args.reset( 66 match.search_terms_args.reset(
66 new TemplateURLRef::SearchTermsArgs(base::UTF8ToUTF16(original_query))); 67 new TemplateURLRef::SearchTermsArgs(base::UTF8ToUTF16(original_query)));
67 match.search_terms_args->original_query = base::UTF8ToUTF16(original_query); 68 match.search_terms_args->original_query = base::UTF8ToUTF16(original_query);
68 match.relevance = relevance; 69 match.relevance = relevance;
69 match.destination_url = GURL(destination_url); 70 match.destination_url = GURL(destination_url);
70 match.contents = base::UTF8ToUTF16(contents); 71 match.contents = base::UTF8ToUTF16(contents);
71 match.description = base::UTF8ToUTF16(description); 72 match.description = base::UTF8ToUTF16(description);
72 match.type = type; 73 match.type = type;
73 match.keyword = base::UTF8ToUTF16(keyword); 74 match.keyword = base::UTF8ToUTF16(keyword);
74 75
75 return scoped_ptr<OmniboxResult>( 76 return std::unique_ptr<OmniboxResult>(
76 new OmniboxResult(profile_.get(), app_list_controller_delegate_.get(), 77 new OmniboxResult(profile_.get(), app_list_controller_delegate_.get(),
77 nullptr, is_voice_query, match)); 78 nullptr, is_voice_query, match));
78 } 79 }
79 80
80 const GURL& GetLastOpenedUrl() const { 81 const GURL& GetLastOpenedUrl() const {
81 return app_list_controller_delegate_->last_opened_url(); 82 return app_list_controller_delegate_->last_opened_url();
82 } 83 }
83 84
84 private: 85 private:
85 scoped_ptr<::test::TestAppListControllerDelegate> 86 std::unique_ptr<::test::TestAppListControllerDelegate>
86 app_list_controller_delegate_; 87 app_list_controller_delegate_;
87 88
88 DISALLOW_COPY_AND_ASSIGN(OmniboxResultTest); 89 DISALLOW_COPY_AND_ASSIGN(OmniboxResultTest);
89 }; 90 };
90 91
91 TEST_F(OmniboxResultTest, Basic) { 92 TEST_F(OmniboxResultTest, Basic) {
92 scoped_ptr<OmniboxResult> result = CreateOmniboxResult( 93 std::unique_ptr<OmniboxResult> result = CreateOmniboxResult(
93 kFullQuery, kRelevance, kExampleUrl, kFullQuery, kExampleDescription, 94 kFullQuery, kRelevance, kExampleUrl, kFullQuery, kExampleDescription,
94 AutocompleteMatchType::HISTORY_URL, kExampleKeyword, false); 95 AutocompleteMatchType::HISTORY_URL, kExampleKeyword, false);
95 96
96 EXPECT_EQ(base::ASCIIToUTF16(kFullQuery), result->title()); 97 EXPECT_EQ(base::ASCIIToUTF16(kFullQuery), result->title());
97 EXPECT_EQ(base::ASCIIToUTF16(kExampleDescription), result->details()); 98 EXPECT_EQ(base::ASCIIToUTF16(kExampleDescription), result->details());
98 EXPECT_EQ(kAppListRelevance, result->relevance()); 99 EXPECT_EQ(kAppListRelevance, result->relevance());
99 EXPECT_FALSE(result->voice_result()); 100 EXPECT_FALSE(result->voice_result());
100 101
101 result->Open(0); 102 result->Open(0);
102 EXPECT_EQ(kExampleUrl, GetLastOpenedUrl().spec()); 103 EXPECT_EQ(kExampleUrl, GetLastOpenedUrl().spec());
103 } 104 }
104 105
105 TEST_F(OmniboxResultTest, VoiceResult) { 106 TEST_F(OmniboxResultTest, VoiceResult) {
106 // Searching for part of a word, and getting a HISTORY_URL result with that 107 // Searching for part of a word, and getting a HISTORY_URL result with that
107 // exact string in the title. Should not be automatically launchable as a 108 // exact string in the title. Should not be automatically launchable as a
108 // voice result (because it is not a web search type result). 109 // voice result (because it is not a web search type result).
109 { 110 {
110 scoped_ptr<OmniboxResult> result = CreateOmniboxResult( 111 std::unique_ptr<OmniboxResult> result = CreateOmniboxResult(
111 kPartialQuery, kRelevance, kExampleUrl, kPartialQuery, 112 kPartialQuery, kRelevance, kExampleUrl, kPartialQuery,
112 kExampleDescription, AutocompleteMatchType::HISTORY_URL, 113 kExampleDescription, AutocompleteMatchType::HISTORY_URL,
113 kExampleKeyword, false); 114 kExampleKeyword, false);
114 EXPECT_FALSE(result->voice_result()); 115 EXPECT_FALSE(result->voice_result());
115 } 116 }
116 117
117 // Searching for part of a word, and getting a SEARCH_WHAT_YOU_TYPED result. 118 // Searching for part of a word, and getting a SEARCH_WHAT_YOU_TYPED result.
118 // Such a result should be promoted as a voice result. 119 // Such a result should be promoted as a voice result.
119 { 120 {
120 scoped_ptr<OmniboxResult> result = CreateOmniboxResult( 121 std::unique_ptr<OmniboxResult> result = CreateOmniboxResult(
121 kPartialQuery, kRelevance, kExampleUrl, kPartialQuery, 122 kPartialQuery, kRelevance, kExampleUrl, kPartialQuery,
122 kExampleDescription, AutocompleteMatchType::SEARCH_WHAT_YOU_TYPED, 123 kExampleDescription, AutocompleteMatchType::SEARCH_WHAT_YOU_TYPED,
123 kExampleKeyword, false); 124 kExampleKeyword, false);
124 EXPECT_TRUE(result->voice_result()); 125 EXPECT_TRUE(result->voice_result());
125 } 126 }
126 127
127 // Searching for part of a word, and getting a SEARCH_HISTORY result for that 128 // Searching for part of a word, and getting a SEARCH_HISTORY result for that
128 // exact string. Such a result should be promoted as a voice result. 129 // exact string. Such a result should be promoted as a voice result.
129 { 130 {
130 scoped_ptr<OmniboxResult> result = CreateOmniboxResult( 131 std::unique_ptr<OmniboxResult> result = CreateOmniboxResult(
131 kPartialQuery, kRelevance, kExampleUrl, kPartialQuery, 132 kPartialQuery, kRelevance, kExampleUrl, kPartialQuery,
132 kExampleDescription, AutocompleteMatchType::SEARCH_HISTORY, 133 kExampleDescription, AutocompleteMatchType::SEARCH_HISTORY,
133 kExampleKeyword, false); 134 kExampleKeyword, false);
134 EXPECT_TRUE(result->voice_result()); 135 EXPECT_TRUE(result->voice_result());
135 } 136 }
136 137
137 // Searching for part of a word, and getting a SEARCH_HISTORY result for a 138 // Searching for part of a word, and getting a SEARCH_HISTORY result for a
138 // different string. Should not be automatically launchable as a voice result 139 // different string. Should not be automatically launchable as a voice result
139 // (because it does not exactly match what you typed). 140 // (because it does not exactly match what you typed).
140 { 141 {
141 scoped_ptr<OmniboxResult> result = CreateOmniboxResult( 142 std::unique_ptr<OmniboxResult> result = CreateOmniboxResult(
142 kPartialQuery, kRelevance, kExampleUrl, kFullQuery, kExampleDescription, 143 kPartialQuery, kRelevance, kExampleUrl, kFullQuery, kExampleDescription,
143 AutocompleteMatchType::SEARCH_HISTORY, kExampleKeyword, false); 144 AutocompleteMatchType::SEARCH_HISTORY, kExampleKeyword, false);
144 EXPECT_FALSE(result->voice_result()); 145 EXPECT_FALSE(result->voice_result());
145 } 146 }
146 } 147 }
147 148
148 TEST_F(OmniboxResultTest, VoiceQuery) { 149 TEST_F(OmniboxResultTest, VoiceQuery) {
149 // A voice query to a random domain. URL should not change. 150 // A voice query to a random domain. URL should not change.
150 { 151 {
151 scoped_ptr<OmniboxResult> result = CreateOmniboxResult( 152 std::unique_ptr<OmniboxResult> result = CreateOmniboxResult(
152 kWeatherQuery, kRelevance, kExampleWeatherUrl, kWeatherQuery, 153 kWeatherQuery, kRelevance, kExampleWeatherUrl, kWeatherQuery,
153 kExampleDescription, AutocompleteMatchType::SEARCH_WHAT_YOU_TYPED, 154 kExampleDescription, AutocompleteMatchType::SEARCH_WHAT_YOU_TYPED,
154 kExampleKeyword, true); 155 kExampleKeyword, true);
155 result->Open(0); 156 result->Open(0);
156 EXPECT_EQ(kExampleWeatherUrl, GetLastOpenedUrl().spec()); 157 EXPECT_EQ(kExampleWeatherUrl, GetLastOpenedUrl().spec());
157 } 158 }
158 159
159 // A voice query to a Google domain. URL should have magic "speak back" query 160 // A voice query to a Google domain. URL should have magic "speak back" query
160 // parameter appended. 161 // parameter appended.
161 { 162 {
162 scoped_ptr<OmniboxResult> result = CreateOmniboxResult( 163 std::unique_ptr<OmniboxResult> result = CreateOmniboxResult(
163 kWeatherQuery, kRelevance, kGoogleWeatherUrl, kWeatherQuery, 164 kWeatherQuery, kRelevance, kGoogleWeatherUrl, kWeatherQuery,
164 kGoogleDescription, AutocompleteMatchType::SEARCH_WHAT_YOU_TYPED, 165 kGoogleDescription, AutocompleteMatchType::SEARCH_WHAT_YOU_TYPED,
165 kGoogleKeyword, true); 166 kGoogleKeyword, true);
166 result->Open(0); 167 result->Open(0);
167 EXPECT_EQ("http://google.com/search?q=weather&gs_ivs=1", 168 EXPECT_EQ("http://google.com/search?q=weather&gs_ivs=1",
168 GetLastOpenedUrl().spec()); 169 GetLastOpenedUrl().spec());
169 } 170 }
170 171
171 // A voice query to a Google international domain. URL should have magic 172 // A voice query to a Google international domain. URL should have magic
172 // "speak back" query parameter appended. 173 // "speak back" query parameter appended.
173 { 174 {
174 scoped_ptr<OmniboxResult> result = CreateOmniboxResult( 175 std::unique_ptr<OmniboxResult> result = CreateOmniboxResult(
175 kWeatherQuery, kRelevance, kGoogleInternationalWeatherUrl, 176 kWeatherQuery, kRelevance, kGoogleInternationalWeatherUrl,
176 kWeatherQuery, kGoogleDescription, 177 kWeatherQuery, kGoogleDescription,
177 AutocompleteMatchType::SEARCH_WHAT_YOU_TYPED, kGoogleKeyword, true); 178 AutocompleteMatchType::SEARCH_WHAT_YOU_TYPED, kGoogleKeyword, true);
178 result->Open(0); 179 result->Open(0);
179 EXPECT_EQ("http://google.com.au/search?q=weather&gs_ivs=1", 180 EXPECT_EQ("http://google.com.au/search?q=weather&gs_ivs=1",
180 GetLastOpenedUrl().spec()); 181 GetLastOpenedUrl().spec());
181 } 182 }
182 183
183 // A non-voice query to a Google domain. URL should not change. 184 // A non-voice query to a Google domain. URL should not change.
184 { 185 {
185 scoped_ptr<OmniboxResult> result = CreateOmniboxResult( 186 std::unique_ptr<OmniboxResult> result = CreateOmniboxResult(
186 kWeatherQuery, kRelevance, kGoogleWeatherUrl, kWeatherQuery, 187 kWeatherQuery, kRelevance, kGoogleWeatherUrl, kWeatherQuery,
187 kGoogleDescription, AutocompleteMatchType::SEARCH_WHAT_YOU_TYPED, 188 kGoogleDescription, AutocompleteMatchType::SEARCH_WHAT_YOU_TYPED,
188 kGoogleKeyword, false); 189 kGoogleKeyword, false);
189 result->Open(0); 190 result->Open(0);
190 EXPECT_EQ(kGoogleWeatherUrl, GetLastOpenedUrl().spec()); 191 EXPECT_EQ(kGoogleWeatherUrl, GetLastOpenedUrl().spec());
191 } 192 }
192 } 193 }
193 194
194 } // namespace test 195 } // namespace test
195 } // namespace app_list 196 } // namespace app_list
OLDNEW
« no previous file with comments | « chrome/browser/ui/app_list/search/omnibox_result.cc ('k') | chrome/browser/ui/app_list/search/people/people_provider.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698