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

Side by Side Diff: chrome/browser/autocomplete/autocomplete_input_unittest.cc

Issue 109013006: Update some uses of UTF conversions in chrome/browser to use the base:: namespace. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix Created 6 years, 12 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/autocomplete/autocomplete_input.h" 5 #include "chrome/browser/autocomplete/autocomplete_input.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/strings/string16.h" 8 #include "base/strings/string16.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "build/build_config.h" 10 #include "build/build_config.h"
11 #include "testing/gtest/include/gtest/gtest.h" 11 #include "testing/gtest/include/gtest/gtest.h"
12 #include "url/url_parse.h" 12 #include "url/url_parse.h"
13 13
14 using base::ASCIIToUTF16;
15
14 TEST(AutocompleteInputTest, InputType) { 16 TEST(AutocompleteInputTest, InputType) {
15 struct test_data { 17 struct test_data {
16 const base::string16 input; 18 const base::string16 input;
17 const AutocompleteInput::Type type; 19 const AutocompleteInput::Type type;
18 } input_cases[] = { 20 } input_cases[] = {
19 { base::string16(), AutocompleteInput::INVALID }, 21 { base::string16(), AutocompleteInput::INVALID },
20 { ASCIIToUTF16("?"), AutocompleteInput::FORCED_QUERY }, 22 { ASCIIToUTF16("?"), AutocompleteInput::FORCED_QUERY },
21 { ASCIIToUTF16("?foo"), AutocompleteInput::FORCED_QUERY }, 23 { ASCIIToUTF16("?foo"), AutocompleteInput::FORCED_QUERY },
22 { ASCIIToUTF16("?foo bar"), AutocompleteInput::FORCED_QUERY }, 24 { ASCIIToUTF16("?foo bar"), AutocompleteInput::FORCED_QUERY },
23 { ASCIIToUTF16("?http://foo.com/bar"), AutocompleteInput::FORCED_QUERY }, 25 { ASCIIToUTF16("?http://foo.com/bar"), AutocompleteInput::FORCED_QUERY },
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 { ASCIIToUTF16("http:user:pass@foo.com"), AutocompleteInput::URL }, 101 { ASCIIToUTF16("http:user:pass@foo.com"), AutocompleteInput::URL },
100 { ASCIIToUTF16("http://user:pass@foo.com"), AutocompleteInput::URL }, 102 { ASCIIToUTF16("http://user:pass@foo.com"), AutocompleteInput::URL },
101 { ASCIIToUTF16("http://1.2"), AutocompleteInput::URL }, 103 { ASCIIToUTF16("http://1.2"), AutocompleteInput::URL },
102 { ASCIIToUTF16("http://1.2/45"), AutocompleteInput::URL }, 104 { ASCIIToUTF16("http://1.2/45"), AutocompleteInput::URL },
103 { ASCIIToUTF16("http:ps/2 games"), AutocompleteInput::URL }, 105 { ASCIIToUTF16("http:ps/2 games"), AutocompleteInput::URL },
104 { ASCIIToUTF16("https://foo.com"), AutocompleteInput::URL }, 106 { ASCIIToUTF16("https://foo.com"), AutocompleteInput::URL },
105 { ASCIIToUTF16("127.0.0.1"), AutocompleteInput::URL }, 107 { ASCIIToUTF16("127.0.0.1"), AutocompleteInput::URL },
106 { ASCIIToUTF16("127.0.1"), AutocompleteInput::UNKNOWN }, 108 { ASCIIToUTF16("127.0.1"), AutocompleteInput::UNKNOWN },
107 { ASCIIToUTF16("127.0.1/"), AutocompleteInput::URL }, 109 { ASCIIToUTF16("127.0.1/"), AutocompleteInput::URL },
108 { ASCIIToUTF16("browser.tabs.closeButtons"), AutocompleteInput::UNKNOWN }, 110 { ASCIIToUTF16("browser.tabs.closeButtons"), AutocompleteInput::UNKNOWN },
109 { WideToUTF16(L"\u6d4b\u8bd5"), AutocompleteInput::UNKNOWN }, 111 { base::WideToUTF16(L"\u6d4b\u8bd5"), AutocompleteInput::UNKNOWN },
110 { ASCIIToUTF16("[2001:]"), AutocompleteInput::QUERY }, 112 { ASCIIToUTF16("[2001:]"), AutocompleteInput::QUERY },
111 { ASCIIToUTF16("[2001:dB8::1]"), AutocompleteInput::URL }, 113 { ASCIIToUTF16("[2001:dB8::1]"), AutocompleteInput::URL },
112 { ASCIIToUTF16("192.168.0.256"), AutocompleteInput::QUERY }, 114 { ASCIIToUTF16("192.168.0.256"), AutocompleteInput::QUERY },
113 { ASCIIToUTF16("[foo.com]"), AutocompleteInput::QUERY }, 115 { ASCIIToUTF16("[foo.com]"), AutocompleteInput::QUERY },
114 { ASCIIToUTF16("filesystem:http://a.com/t/bar"), AutocompleteInput::URL }, 116 { ASCIIToUTF16("filesystem:http://a.com/t/bar"), AutocompleteInput::URL },
115 { ASCIIToUTF16("filesystem:http:foo"), AutocompleteInput::URL }, 117 { ASCIIToUTF16("filesystem:http:foo"), AutocompleteInput::URL },
116 { ASCIIToUTF16("filesystem:file://"), AutocompleteInput::URL }, 118 { ASCIIToUTF16("filesystem:file://"), AutocompleteInput::URL },
117 { ASCIIToUTF16("filesystem:http"), AutocompleteInput::URL }, 119 { ASCIIToUTF16("filesystem:http"), AutocompleteInput::URL },
118 { ASCIIToUTF16("filesystem:"), AutocompleteInput::URL }, 120 { ASCIIToUTF16("filesystem:"), AutocompleteInput::URL },
119 { ASCIIToUTF16("ftp:"), AutocompleteInput::URL }, 121 { ASCIIToUTF16("ftp:"), AutocompleteInput::URL },
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 AutocompleteInput::ALL_MATCHES); 158 AutocompleteInput::ALL_MATCHES);
157 EXPECT_EQ(input_cases[i].type, input.type()); 159 EXPECT_EQ(input_cases[i].type, input.type());
158 if (input_cases[i].type == AutocompleteInput::URL) 160 if (input_cases[i].type == AutocompleteInput::URL)
159 EXPECT_EQ(input_cases[i].spec, input.canonicalized_url().spec()); 161 EXPECT_EQ(input_cases[i].spec, input.canonicalized_url().spec());
160 } 162 }
161 } 163 }
162 164
163 // This tests for a regression where certain input in the omnibox caused us to 165 // This tests for a regression where certain input in the omnibox caused us to
164 // crash. As long as the test completes without crashing, we're fine. 166 // crash. As long as the test completes without crashing, we're fine.
165 TEST(AutocompleteInputTest, InputCrash) { 167 TEST(AutocompleteInputTest, InputCrash) {
166 AutocompleteInput input(WideToUTF16(L"\uff65@s"), base::string16::npos, 168 AutocompleteInput input(base::WideToUTF16(L"\uff65@s"), base::string16::npos,
167 base::string16(), GURL(), 169 base::string16(), GURL(),
168 AutocompleteInput::INVALID_SPEC, true, false, 170 AutocompleteInput::INVALID_SPEC, true, false,
169 true, AutocompleteInput::ALL_MATCHES); 171 true, AutocompleteInput::ALL_MATCHES);
170 } 172 }
171 173
172 TEST(AutocompleteInputTest, ParseForEmphasizeComponent) { 174 TEST(AutocompleteInputTest, ParseForEmphasizeComponent) {
173 using url_parse::Component; 175 using url_parse::Component;
174 Component kInvalidComponent(0, -1); 176 Component kInvalidComponent(0, -1);
175 struct test_data { 177 struct test_data {
176 const base::string16 input; 178 const base::string16 input;
177 const Component scheme; 179 const Component scheme;
178 const Component host; 180 const Component host;
179 } input_cases[] = { 181 } input_cases[] = {
180 { base::string16(), kInvalidComponent, kInvalidComponent }, 182 { base::string16(), kInvalidComponent, kInvalidComponent },
181 { ASCIIToUTF16("?"), kInvalidComponent, kInvalidComponent }, 183 { ASCIIToUTF16("?"), kInvalidComponent, kInvalidComponent },
182 { ASCIIToUTF16("?http://foo.com/bar"), kInvalidComponent, 184 { ASCIIToUTF16("?http://foo.com/bar"), kInvalidComponent,
183 kInvalidComponent }, 185 kInvalidComponent },
184 { ASCIIToUTF16("foo/bar baz"), kInvalidComponent, Component(0, 3) }, 186 { ASCIIToUTF16("foo/bar baz"), kInvalidComponent, Component(0, 3) },
185 { ASCIIToUTF16("http://foo/bar baz"), Component(0, 4), Component(7, 3) }, 187 { ASCIIToUTF16("http://foo/bar baz"), Component(0, 4), Component(7, 3) },
186 { ASCIIToUTF16("link:foo.com"), Component(0, 4), kInvalidComponent }, 188 { ASCIIToUTF16("link:foo.com"), Component(0, 4), kInvalidComponent },
187 { ASCIIToUTF16("www.foo.com:81"), kInvalidComponent, Component(0, 11) }, 189 { ASCIIToUTF16("www.foo.com:81"), kInvalidComponent, Component(0, 11) },
188 { WideToUTF16(L"\u6d4b\u8bd5"), kInvalidComponent, Component(0, 2) }, 190 { base::WideToUTF16(L"\u6d4b\u8bd5"), kInvalidComponent, Component(0, 2) },
189 { ASCIIToUTF16("view-source:http://www.foo.com/"), Component(12, 4), 191 { ASCIIToUTF16("view-source:http://www.foo.com/"), Component(12, 4),
190 Component(19, 11) }, 192 Component(19, 11) },
191 { ASCIIToUTF16("view-source:https://example.com/"), 193 { ASCIIToUTF16("view-source:https://example.com/"),
192 Component(12, 5), Component(20, 11) }, 194 Component(12, 5), Component(20, 11) },
193 { ASCIIToUTF16("view-source:www.foo.com"), kInvalidComponent, 195 { ASCIIToUTF16("view-source:www.foo.com"), kInvalidComponent,
194 Component(12, 11) }, 196 Component(12, 11) },
195 { ASCIIToUTF16("view-source:"), Component(0, 11), kInvalidComponent }, 197 { ASCIIToUTF16("view-source:"), Component(0, 11), kInvalidComponent },
196 { ASCIIToUTF16("view-source:garbage"), kInvalidComponent, 198 { ASCIIToUTF16("view-source:garbage"), kInvalidComponent,
197 Component(12, 7) }, 199 Component(12, 7) },
198 { ASCIIToUTF16("view-source:http://http://foo"), Component(12, 4), 200 { ASCIIToUTF16("view-source:http://http://foo"), Component(12, 4),
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
248 AutocompleteInput input(input_cases[i].input, 250 AutocompleteInput input(input_cases[i].input,
249 input_cases[i].cursor_position, 251 input_cases[i].cursor_position,
250 base::string16(), GURL(), 252 base::string16(), GURL(),
251 AutocompleteInput::INVALID_SPEC, 253 AutocompleteInput::INVALID_SPEC,
252 true, false, true, AutocompleteInput::ALL_MATCHES); 254 true, false, true, AutocompleteInput::ALL_MATCHES);
253 EXPECT_EQ(input_cases[i].normalized_input, input.text()); 255 EXPECT_EQ(input_cases[i].normalized_input, input.text());
254 EXPECT_EQ(input_cases[i].normalized_cursor_position, 256 EXPECT_EQ(input_cases[i].normalized_cursor_position,
255 input.cursor_position()); 257 input.cursor_position());
256 } 258 }
257 } 259 }
OLDNEW
« no previous file with comments | « chrome/browser/autocomplete/autocomplete_input.cc ('k') | chrome/browser/autocomplete/autocomplete_match.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698