diff options
author | pkasting@chromium.org <pkasting@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-19 20:37:48 +0000 |
---|---|---|
committer | pkasting@chromium.org <pkasting@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-19 20:37:48 +0000 |
commit | 258e8970224599686f320fe75044e1043ef87222 (patch) | |
tree | aafe9c28f36d2260842f6631c6f411b70ddb5794 /chrome/browser/autocomplete/autocomplete_unittest.cc | |
parent | 6f509ac2faf29c7fbe3b57c0f2bf8f3cb4d25ca0 (diff) | |
download | chromium_src-258e8970224599686f320fe75044e1043ef87222.zip chromium_src-258e8970224599686f320fe75044e1043ef87222.tar.gz chromium_src-258e8970224599686f320fe75044e1043ef87222.tar.bz2 |
Parse input with explicit schemes better. Before, if the user typed "http://..." we always parsed as a URL. Now we parse more like we would without the scheme, so that we can reject various kinds of invalid inputs.
BUG=none
TEST=Input "http://foo:bar" (without quotes) in the address bar, and the default action should be search, not navigate.
Review URL: http://codereview.chromium.org/292003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29450 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/autocomplete/autocomplete_unittest.cc')
-rw-r--r-- | chrome/browser/autocomplete/autocomplete_unittest.cc | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/chrome/browser/autocomplete/autocomplete_unittest.cc b/chrome/browser/autocomplete/autocomplete_unittest.cc index 4ab6ea4..572beb5 100644 --- a/chrome/browser/autocomplete/autocomplete_unittest.cc +++ b/chrome/browser/autocomplete/autocomplete_unittest.cc @@ -210,6 +210,7 @@ TEST(AutocompleteTest, InputType) { { L"?foo bar", AutocompleteInput::FORCED_QUERY }, { L"?http://foo.com/bar", AutocompleteInput::FORCED_QUERY }, { L"foo", AutocompleteInput::UNKNOWN }, + { L"foo.c", AutocompleteInput::UNKNOWN }, { L"foo.com", AutocompleteInput::URL }, { L"-.com", AutocompleteInput::QUERY }, { L"foo/bar", AutocompleteInput::URL }, @@ -222,6 +223,11 @@ TEST(AutocompleteTest, InputType) { { L"localhost:8080", AutocompleteInput::URL }, { L"foo.com:123456", AutocompleteInput::QUERY }, { L"foo.com:abc", AutocompleteInput::QUERY }, + { L"user@foo.com", AutocompleteInput::UNKNOWN }, + { L"user:pass@foo.com", AutocompleteInput::UNKNOWN }, + { L"1.2", AutocompleteInput::UNKNOWN }, + { L"1.2/45", AutocompleteInput::UNKNOWN }, + { L"ps/2 games", AutocompleteInput::UNKNOWN }, { L"en.wikipedia.org/wiki/James Bond", AutocompleteInput::URL }, // In Chrome itself, mailto: will get handled by ShellExecute, but in // unittest mode, we don't have the data loaded in the external protocol @@ -233,7 +239,20 @@ TEST(AutocompleteTest, InputType) { { L"C:\\Program Files", AutocompleteInput::URL }, { L"\\\\Server\\Folder\\File", AutocompleteInput::URL }, #endif // defined(OS_WIN) - { L"http://foo.com/", AutocompleteInput::URL }, + { L"http:foo", AutocompleteInput::URL }, + { L"http://foo", AutocompleteInput::URL }, + { L"http://foo.c", AutocompleteInput::URL }, + { L"http://foo.com", AutocompleteInput::URL }, + { L"http://-.com", AutocompleteInput::QUERY }, + { L"http://foo.com:abc", AutocompleteInput::QUERY }, + { L"http://foo.com:123456", AutocompleteInput::QUERY }, + { L"http:user@foo.com", AutocompleteInput::URL }, + { L"http://user@foo.com", AutocompleteInput::URL }, + { L"http://user:pass@foo.com", AutocompleteInput::URL }, + { L"http://1.2", AutocompleteInput::URL }, + { L"http://1.2/45", AutocompleteInput::URL }, + { L"http:ps/2 games", AutocompleteInput::URL }, + { L"http://ps/2 games", AutocompleteInput::URL }, { L"127.0.0.1", AutocompleteInput::URL }, { L"127.0.1", AutocompleteInput::UNKNOWN }, { L"127.0.1/", AutocompleteInput::UNKNOWN }, |