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

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

Issue 12315071: Revert 184352 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 7 years, 10 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/string16.h" 8 #include "base/string16.h"
9 #include "base/utf_string_conversions.h" 9 #include "base/utf_string_conversions.h"
10 #include "build/build_config.h" 10 #include "build/build_config.h"
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 { ASCIIToUTF16("http:user:pass@foo.com"), AutocompleteInput::URL }, 99 { ASCIIToUTF16("http:user:pass@foo.com"), AutocompleteInput::URL },
100 { ASCIIToUTF16("http://user:pass@foo.com"), AutocompleteInput::URL }, 100 { ASCIIToUTF16("http://user:pass@foo.com"), AutocompleteInput::URL },
101 { ASCIIToUTF16("http://1.2"), AutocompleteInput::URL }, 101 { ASCIIToUTF16("http://1.2"), AutocompleteInput::URL },
102 { ASCIIToUTF16("http://1.2/45"), AutocompleteInput::URL }, 102 { ASCIIToUTF16("http://1.2/45"), AutocompleteInput::URL },
103 { ASCIIToUTF16("http:ps/2 games"), AutocompleteInput::URL }, 103 { ASCIIToUTF16("http:ps/2 games"), AutocompleteInput::URL },
104 { ASCIIToUTF16("https://foo.com"), AutocompleteInput::URL }, 104 { ASCIIToUTF16("https://foo.com"), AutocompleteInput::URL },
105 { ASCIIToUTF16("127.0.0.1"), AutocompleteInput::URL }, 105 { ASCIIToUTF16("127.0.0.1"), AutocompleteInput::URL },
106 { ASCIIToUTF16("127.0.1"), AutocompleteInput::UNKNOWN }, 106 { ASCIIToUTF16("127.0.1"), AutocompleteInput::UNKNOWN },
107 { ASCIIToUTF16("127.0.1/"), AutocompleteInput::URL }, 107 { ASCIIToUTF16("127.0.1/"), AutocompleteInput::URL },
108 { ASCIIToUTF16("browser.tabs.closeButtons"), AutocompleteInput::UNKNOWN }, 108 { ASCIIToUTF16("browser.tabs.closeButtons"), AutocompleteInput::UNKNOWN },
109 { base::WideToUTF16(L"\u6d4b\u8bd5"), AutocompleteInput::UNKNOWN }, 109 { WideToUTF16(L"\u6d4b\u8bd5"), AutocompleteInput::UNKNOWN },
110 { ASCIIToUTF16("[2001:]"), AutocompleteInput::QUERY }, 110 { ASCIIToUTF16("[2001:]"), AutocompleteInput::QUERY },
111 { ASCIIToUTF16("[2001:dB8::1]"), AutocompleteInput::URL }, 111 { ASCIIToUTF16("[2001:dB8::1]"), AutocompleteInput::URL },
112 { ASCIIToUTF16("192.168.0.256"), AutocompleteInput::QUERY }, 112 { ASCIIToUTF16("192.168.0.256"), AutocompleteInput::QUERY },
113 { ASCIIToUTF16("[foo.com]"), AutocompleteInput::QUERY }, 113 { ASCIIToUTF16("[foo.com]"), AutocompleteInput::QUERY },
114 { ASCIIToUTF16("filesystem:http://a.com/t/bar"), AutocompleteInput::URL }, 114 { ASCIIToUTF16("filesystem:http://a.com/t/bar"), AutocompleteInput::URL },
115 { ASCIIToUTF16("filesystem:http:foo"), AutocompleteInput::URL }, 115 { ASCIIToUTF16("filesystem:http:foo"), AutocompleteInput::URL },
116 { ASCIIToUTF16("filesystem:file://"), AutocompleteInput::URL }, 116 { ASCIIToUTF16("filesystem:file://"), AutocompleteInput::URL },
117 { ASCIIToUTF16("filesystem:http"), AutocompleteInput::URL }, 117 { ASCIIToUTF16("filesystem:http"), AutocompleteInput::URL },
118 { ASCIIToUTF16("filesystem:"), AutocompleteInput::URL }, 118 { ASCIIToUTF16("filesystem:"), AutocompleteInput::URL },
119 { ASCIIToUTF16("ftp:"), AutocompleteInput::URL }, 119 { ASCIIToUTF16("ftp:"), AutocompleteInput::URL },
(...skipping 23 matching lines...) Expand all
143 AutocompleteInput input(input_cases[i].input, string16::npos, 143 AutocompleteInput input(input_cases[i].input, string16::npos,
144 ASCIIToUTF16("com"), true, false, true, 144 ASCIIToUTF16("com"), true, false, true,
145 AutocompleteInput::ALL_MATCHES); 145 AutocompleteInput::ALL_MATCHES);
146 EXPECT_EQ(input_cases[i].type, input.type()); 146 EXPECT_EQ(input_cases[i].type, input.type());
147 } 147 }
148 } 148 }
149 149
150 // This tests for a regression where certain input in the omnibox caused us to 150 // This tests for a regression where certain input in the omnibox caused us to
151 // crash. As long as the test completes without crashing, we're fine. 151 // crash. As long as the test completes without crashing, we're fine.
152 TEST(AutocompleteInputTest, InputCrash) { 152 TEST(AutocompleteInputTest, InputCrash) {
153 AutocompleteInput input(base::WideToUTF16(L"\uff65@s"), string16::npos, 153 AutocompleteInput input(WideToUTF16(L"\uff65@s"), string16::npos, string16(),
154 string16(), true, false, true, 154 true, false, true, AutocompleteInput::ALL_MATCHES);
155 AutocompleteInput::ALL_MATCHES);
156 } 155 }
157 156
158 TEST(AutocompleteInputTest, ParseForEmphasizeComponent) { 157 TEST(AutocompleteInputTest, ParseForEmphasizeComponent) {
159 using url_parse::Component; 158 using url_parse::Component;
160 Component kInvalidComponent(0, -1); 159 Component kInvalidComponent(0, -1);
161 struct test_data { 160 struct test_data {
162 const string16 input; 161 const string16 input;
163 const Component scheme; 162 const Component scheme;
164 const Component host; 163 const Component host;
165 } input_cases[] = { 164 } input_cases[] = {
166 { string16(), kInvalidComponent, kInvalidComponent }, 165 { string16(), kInvalidComponent, kInvalidComponent },
167 { ASCIIToUTF16("?"), kInvalidComponent, kInvalidComponent }, 166 { ASCIIToUTF16("?"), kInvalidComponent, kInvalidComponent },
168 { ASCIIToUTF16("?http://foo.com/bar"), kInvalidComponent, 167 { ASCIIToUTF16("?http://foo.com/bar"), kInvalidComponent,
169 kInvalidComponent }, 168 kInvalidComponent },
170 { ASCIIToUTF16("foo/bar baz"), kInvalidComponent, Component(0, 3) }, 169 { ASCIIToUTF16("foo/bar baz"), kInvalidComponent, Component(0, 3) },
171 { ASCIIToUTF16("http://foo/bar baz"), Component(0, 4), Component(7, 3) }, 170 { ASCIIToUTF16("http://foo/bar baz"), Component(0, 4), Component(7, 3) },
172 { ASCIIToUTF16("link:foo.com"), Component(0, 4), kInvalidComponent }, 171 { ASCIIToUTF16("link:foo.com"), Component(0, 4), kInvalidComponent },
173 { ASCIIToUTF16("www.foo.com:81"), kInvalidComponent, Component(0, 11) }, 172 { ASCIIToUTF16("www.foo.com:81"), kInvalidComponent, Component(0, 11) },
174 { base::WideToUTF16(L"\u6d4b\u8bd5"), kInvalidComponent, Component(0, 2) }, 173 { WideToUTF16(L"\u6d4b\u8bd5"), kInvalidComponent, Component(0, 2) },
175 { ASCIIToUTF16("view-source:http://www.foo.com/"), Component(12, 4), 174 { ASCIIToUTF16("view-source:http://www.foo.com/"), Component(12, 4),
176 Component(19, 11) }, 175 Component(19, 11) },
177 { ASCIIToUTF16("view-source:https://example.com/"), 176 { ASCIIToUTF16("view-source:https://example.com/"),
178 Component(12, 5), Component(20, 11) }, 177 Component(12, 5), Component(20, 11) },
179 { ASCIIToUTF16("view-source:www.foo.com"), kInvalidComponent, 178 { ASCIIToUTF16("view-source:www.foo.com"), kInvalidComponent,
180 Component(12, 11) }, 179 Component(12, 11) },
181 { ASCIIToUTF16("view-source:"), Component(0, 11), kInvalidComponent }, 180 { ASCIIToUTF16("view-source:"), Component(0, 11), kInvalidComponent },
182 { ASCIIToUTF16("view-source:garbage"), kInvalidComponent, 181 { ASCIIToUTF16("view-source:garbage"), kInvalidComponent,
183 Component(12, 7) }, 182 Component(12, 7) },
184 { ASCIIToUTF16("view-source:http://http://foo"), Component(12, 4), 183 { ASCIIToUTF16("view-source:http://http://foo"), Component(12, 4),
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
232 SCOPED_TRACE(input_cases[i].input); 231 SCOPED_TRACE(input_cases[i].input);
233 AutocompleteInput input(input_cases[i].input, 232 AutocompleteInput input(input_cases[i].input,
234 input_cases[i].cursor_position, 233 input_cases[i].cursor_position,
235 string16(), true, false, true, 234 string16(), true, false, true,
236 AutocompleteInput::ALL_MATCHES); 235 AutocompleteInput::ALL_MATCHES);
237 EXPECT_EQ(input_cases[i].normalized_input, input.text()); 236 EXPECT_EQ(input_cases[i].normalized_input, input.text());
238 EXPECT_EQ(input_cases[i].normalized_cursor_position, 237 EXPECT_EQ(input_cases[i].normalized_cursor_position,
239 input.cursor_position()); 238 input.cursor_position());
240 } 239 }
241 } 240 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698