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

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

Issue 226283009: Make AutocompleteInput::Parse() more strict: return QUERY for all inputs that (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 6 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 | 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"
(...skipping 15 matching lines...) Expand all
26 { ASCIIToUTF16("foo"), AutocompleteInput::UNKNOWN }, 26 { ASCIIToUTF16("foo"), AutocompleteInput::UNKNOWN },
27 { ASCIIToUTF16("localhost"), AutocompleteInput::URL }, 27 { ASCIIToUTF16("localhost"), AutocompleteInput::URL },
28 { ASCIIToUTF16("foo.c"), AutocompleteInput::UNKNOWN }, 28 { ASCIIToUTF16("foo.c"), AutocompleteInput::UNKNOWN },
29 { ASCIIToUTF16("foo.com"), AutocompleteInput::URL }, 29 { ASCIIToUTF16("foo.com"), AutocompleteInput::URL },
30 { ASCIIToUTF16("-foo.com"), AutocompleteInput::URL }, 30 { ASCIIToUTF16("-foo.com"), AutocompleteInput::URL },
31 { ASCIIToUTF16("foo-.com"), AutocompleteInput::URL }, 31 { ASCIIToUTF16("foo-.com"), AutocompleteInput::URL },
32 { ASCIIToUTF16("foo_.com"), AutocompleteInput::UNKNOWN }, 32 { ASCIIToUTF16("foo_.com"), AutocompleteInput::UNKNOWN },
33 { ASCIIToUTF16("foo.-com"), AutocompleteInput::QUERY }, 33 { ASCIIToUTF16("foo.-com"), AutocompleteInput::QUERY },
34 { ASCIIToUTF16("foo/"), AutocompleteInput::URL }, 34 { ASCIIToUTF16("foo/"), AutocompleteInput::URL },
35 { ASCIIToUTF16("foo/bar"), AutocompleteInput::UNKNOWN }, 35 { ASCIIToUTF16("foo/bar"), AutocompleteInput::UNKNOWN },
36 { ASCIIToUTF16("foo/bar%00"), AutocompleteInput::QUERY },
36 { ASCIIToUTF16("foo/bar/"), AutocompleteInput::URL }, 37 { ASCIIToUTF16("foo/bar/"), AutocompleteInput::URL },
37 { ASCIIToUTF16("foo/bar baz\\"), AutocompleteInput::URL }, 38 { ASCIIToUTF16("foo/bar baz\\"), AutocompleteInput::URL },
38 { ASCIIToUTF16("foo.com/bar"), AutocompleteInput::URL }, 39 { ASCIIToUTF16("foo.com/bar"), AutocompleteInput::URL },
39 { ASCIIToUTF16("foo;bar"), AutocompleteInput::UNKNOWN }, 40 { ASCIIToUTF16("foo;bar"), AutocompleteInput::UNKNOWN },
40 { ASCIIToUTF16("foo/bar baz"), AutocompleteInput::UNKNOWN }, 41 { ASCIIToUTF16("foo/bar baz"), AutocompleteInput::UNKNOWN },
41 { ASCIIToUTF16("foo bar.com"), AutocompleteInput::QUERY }, 42 { ASCIIToUTF16("foo bar.com"), AutocompleteInput::QUERY },
42 { ASCIIToUTF16("foo bar"), AutocompleteInput::QUERY }, 43 { ASCIIToUTF16("foo bar"), AutocompleteInput::QUERY },
43 { ASCIIToUTF16("foo+bar"), AutocompleteInput::QUERY }, 44 { ASCIIToUTF16("foo+bar"), AutocompleteInput::QUERY },
44 { ASCIIToUTF16("foo+bar.com"), AutocompleteInput::UNKNOWN }, 45 { ASCIIToUTF16("foo+bar.com"), AutocompleteInput::UNKNOWN },
45 { ASCIIToUTF16("\"foo:bar\""), AutocompleteInput::QUERY }, 46 { ASCIIToUTF16("\"foo:bar\""), AutocompleteInput::QUERY },
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 { ASCIIToUTF16("javascript:alert(\"Hi there\");"), AutocompleteInput::URL }, 81 { ASCIIToUTF16("javascript:alert(\"Hi there\");"), AutocompleteInput::URL },
81 #if defined(OS_WIN) 82 #if defined(OS_WIN)
82 { ASCIIToUTF16("C:\\Program Files"), AutocompleteInput::URL }, 83 { ASCIIToUTF16("C:\\Program Files"), AutocompleteInput::URL },
83 { ASCIIToUTF16("\\\\Server\\Folder\\File"), AutocompleteInput::URL }, 84 { ASCIIToUTF16("\\\\Server\\Folder\\File"), AutocompleteInput::URL },
84 #endif // defined(OS_WIN) 85 #endif // defined(OS_WIN)
85 { ASCIIToUTF16("http:foo"), AutocompleteInput::URL }, 86 { ASCIIToUTF16("http:foo"), AutocompleteInput::URL },
86 { ASCIIToUTF16("http://foo"), AutocompleteInput::URL }, 87 { ASCIIToUTF16("http://foo"), AutocompleteInput::URL },
87 { ASCIIToUTF16("http://foo.c"), AutocompleteInput::URL }, 88 { ASCIIToUTF16("http://foo.c"), AutocompleteInput::URL },
88 { ASCIIToUTF16("http://foo.com"), AutocompleteInput::URL }, 89 { ASCIIToUTF16("http://foo.com"), AutocompleteInput::URL },
89 { ASCIIToUTF16("http://foo_bar.com"), AutocompleteInput::URL }, 90 { ASCIIToUTF16("http://foo_bar.com"), AutocompleteInput::URL },
91 { ASCIIToUTF16("http://foo/bar%00"), AutocompleteInput::QUERY },
90 { ASCIIToUTF16("http://foo/bar baz"), AutocompleteInput::URL }, 92 { ASCIIToUTF16("http://foo/bar baz"), AutocompleteInput::URL },
91 { ASCIIToUTF16("http://-foo.com"), AutocompleteInput::URL }, 93 { ASCIIToUTF16("http://-foo.com"), AutocompleteInput::URL },
92 { ASCIIToUTF16("http://foo-.com"), AutocompleteInput::URL }, 94 { ASCIIToUTF16("http://foo-.com"), AutocompleteInput::URL },
93 { ASCIIToUTF16("http://foo_.com"), AutocompleteInput::UNKNOWN }, 95 { ASCIIToUTF16("http://foo_.com"), AutocompleteInput::UNKNOWN },
94 { ASCIIToUTF16("http://foo.-com"), AutocompleteInput::UNKNOWN }, 96 { ASCIIToUTF16("http://foo.-com"), AutocompleteInput::UNKNOWN },
95 { ASCIIToUTF16("http://_foo_.com"), AutocompleteInput::UNKNOWN }, 97 { ASCIIToUTF16("http://_foo_.com"), AutocompleteInput::UNKNOWN },
96 { ASCIIToUTF16("http://foo.com:abc"), AutocompleteInput::QUERY }, 98 { ASCIIToUTF16("http://foo.com:abc"), AutocompleteInput::QUERY },
97 { ASCIIToUTF16("http://foo.com:123456"), AutocompleteInput::QUERY }, 99 { ASCIIToUTF16("http://foo.com:123456"), AutocompleteInput::QUERY },
98 { ASCIIToUTF16("http://1.2.3.4:abc"), AutocompleteInput::QUERY }, 100 { ASCIIToUTF16("http://1.2.3.4:abc"), AutocompleteInput::QUERY },
99 { ASCIIToUTF16("http:user@foo.com"), AutocompleteInput::URL }, 101 { ASCIIToUTF16("http:user@foo.com"), AutocompleteInput::URL },
(...skipping 14 matching lines...) Expand all
114 { ASCIIToUTF16("192.168.0.256"), AutocompleteInput::QUERY }, 116 { ASCIIToUTF16("192.168.0.256"), AutocompleteInput::QUERY },
115 { ASCIIToUTF16("[foo.com]"), AutocompleteInput::QUERY }, 117 { ASCIIToUTF16("[foo.com]"), AutocompleteInput::QUERY },
116 { ASCIIToUTF16("filesystem:http://a.com/t/bar"), AutocompleteInput::URL }, 118 { ASCIIToUTF16("filesystem:http://a.com/t/bar"), AutocompleteInput::URL },
117 { ASCIIToUTF16("filesystem:http://a.com/"), AutocompleteInput::QUERY }, 119 { ASCIIToUTF16("filesystem:http://a.com/"), AutocompleteInput::QUERY },
118 { ASCIIToUTF16("filesystem:file://"), AutocompleteInput::QUERY }, 120 { ASCIIToUTF16("filesystem:file://"), AutocompleteInput::QUERY },
119 { ASCIIToUTF16("filesystem:http"), AutocompleteInput::QUERY }, 121 { ASCIIToUTF16("filesystem:http"), AutocompleteInput::QUERY },
120 { ASCIIToUTF16("filesystem:"), AutocompleteInput::QUERY }, 122 { ASCIIToUTF16("filesystem:"), AutocompleteInput::QUERY },
121 { ASCIIToUTF16("chrome-search://"), AutocompleteInput::QUERY }, 123 { ASCIIToUTF16("chrome-search://"), AutocompleteInput::QUERY },
122 { ASCIIToUTF16("chrome-devtools:"), AutocompleteInput::QUERY }, 124 { ASCIIToUTF16("chrome-devtools:"), AutocompleteInput::QUERY },
123 { ASCIIToUTF16("about://f;"), AutocompleteInput::QUERY }, 125 { ASCIIToUTF16("about://f;"), AutocompleteInput::QUERY },
126 { ASCIIToUTF16("://w"), AutocompleteInput::QUERY },
127 { ASCIIToUTF16(":w"), AutocompleteInput::QUERY },
124 }; 128 };
125 129
126 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(input_cases); ++i) { 130 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(input_cases); ++i) {
127 SCOPED_TRACE(input_cases[i].input); 131 SCOPED_TRACE(input_cases[i].input);
128 AutocompleteInput input(input_cases[i].input, base::string16::npos, 132 AutocompleteInput input(input_cases[i].input, base::string16::npos,
129 base::string16(), GURL(), 133 base::string16(), GURL(),
130 AutocompleteInput::INVALID_SPEC, true, false, true, 134 AutocompleteInput::INVALID_SPEC, true, false, true,
131 AutocompleteInput::ALL_MATCHES); 135 AutocompleteInput::ALL_MATCHES);
132 EXPECT_EQ(input_cases[i].type, input.type()); 136 EXPECT_EQ(input_cases[i].type, input.type());
133 } 137 }
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
252 AutocompleteInput input(input_cases[i].input, 256 AutocompleteInput input(input_cases[i].input,
253 input_cases[i].cursor_position, 257 input_cases[i].cursor_position,
254 base::string16(), GURL(), 258 base::string16(), GURL(),
255 AutocompleteInput::INVALID_SPEC, 259 AutocompleteInput::INVALID_SPEC,
256 true, false, true, AutocompleteInput::ALL_MATCHES); 260 true, false, true, AutocompleteInput::ALL_MATCHES);
257 EXPECT_EQ(input_cases[i].normalized_input, input.text()); 261 EXPECT_EQ(input_cases[i].normalized_input, input.text());
258 EXPECT_EQ(input_cases[i].normalized_cursor_position, 262 EXPECT_EQ(input_cases[i].normalized_cursor_position,
259 input.cursor_position()); 263 input.cursor_position());
260 } 264 }
261 } 265 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698