OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |