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

Unified Diff: chrome/browser/autocomplete/autocomplete_input_unittest.cc

Issue 11414303: Make Google Search autocomplete provider cursor aware. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Created 8 years 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/autocomplete/autocomplete_input_unittest.cc
diff --git a/chrome/browser/autocomplete/autocomplete_input_unittest.cc b/chrome/browser/autocomplete/autocomplete_input_unittest.cc
index aaa1531a7ae59e80e953c770201e238fe5c40e6f..ade2db818db815b45d03aa3265fca67737f53d5e 100644
--- a/chrome/browser/autocomplete/autocomplete_input_unittest.cc
+++ b/chrome/browser/autocomplete/autocomplete_input_unittest.cc
@@ -121,8 +121,8 @@ TEST(AutocompleteInputTest, InputType) {
for (size_t i = 0; i < ARRAYSIZE_UNSAFE(input_cases); ++i) {
SCOPED_TRACE(input_cases[i].input);
- AutocompleteInput input(input_cases[i].input, string16(), true, false,
- true, AutocompleteInput::ALL_MATCHES);
+ AutocompleteInput input(input_cases[i].input, string16::npos, string16(),
+ true, false, true, AutocompleteInput::ALL_MATCHES);
EXPECT_EQ(input_cases[i].type, input.type());
}
}
@@ -140,8 +140,9 @@ TEST(AutocompleteInputTest, InputTypeWithDesiredTLD) {
for (size_t i = 0; i < ARRAYSIZE_UNSAFE(input_cases); ++i) {
SCOPED_TRACE(input_cases[i].input);
- AutocompleteInput input(input_cases[i].input, ASCIIToUTF16("com"), true,
- false, true, AutocompleteInput::ALL_MATCHES);
+ AutocompleteInput input(input_cases[i].input, string16::npos,
+ ASCIIToUTF16("com"), true, false, true,
+ AutocompleteInput::ALL_MATCHES);
EXPECT_EQ(input_cases[i].type, input.type());
}
}
@@ -149,8 +150,8 @@ TEST(AutocompleteInputTest, InputTypeWithDesiredTLD) {
// This tests for a regression where certain input in the omnibox caused us to
// crash. As long as the test completes without crashing, we're fine.
TEST(AutocompleteInputTest, InputCrash) {
- AutocompleteInput input(WideToUTF16(L"\uff65@s"), string16(), true, false,
- true, AutocompleteInput::ALL_MATCHES);
+ AutocompleteInput input(WideToUTF16(L"\uff65@s"), string16::npos, string16(),
+ true, false, true, AutocompleteInput::ALL_MATCHES);
}
TEST(AutocompleteInputTest, ParseForEmphasizeComponent) {
@@ -192,11 +193,45 @@ TEST(AutocompleteInputTest, ParseForEmphasizeComponent) {
string16(),
&scheme,
&host);
- AutocompleteInput input(input_cases[i].input, string16(), true, false,
- true, AutocompleteInput::ALL_MATCHES);
+ AutocompleteInput input(input_cases[i].input, string16::npos, string16(),
+ true, false, true, AutocompleteInput::ALL_MATCHES);
EXPECT_EQ(input_cases[i].scheme.begin, scheme.begin);
EXPECT_EQ(input_cases[i].scheme.len, scheme.len);
EXPECT_EQ(input_cases[i].host.begin, host.begin);
EXPECT_EQ(input_cases[i].host.len, host.len);
}
}
+
+TEST(AutocompleteInputTest, InputTypeWithCursorPosition) {
+ struct test_data {
+ const string16 input;
+ size_t cursor_position;
+ const string16 normalized_input;
+ size_t normalized_cursor_position;
+ } input_cases[] = {
+ { ASCIIToUTF16("foo bar"), string16::npos,
+ ASCIIToUTF16("foo bar"), string16::npos },
+
+ // regular case, no changes.
+ { ASCIIToUTF16("foo bar"), 3, ASCIIToUTF16("foo bar"), 3 },
+
+ // extra leading space.
+ { ASCIIToUTF16(" foo bar"), 3, ASCIIToUTF16("foo bar"), 1 },
+ { ASCIIToUTF16(" foo bar"), 3, ASCIIToUTF16("foo bar"), 0 },
+ { ASCIIToUTF16(" foo bar "), 2, ASCIIToUTF16("foo bar "), 0 },
+
+ // forced query.
+ { ASCIIToUTF16("?foo bar"), 2, ASCIIToUTF16("foo bar"), 1 },
+ };
+
+ for (size_t i = 0; i < ARRAYSIZE_UNSAFE(input_cases); ++i) {
+ SCOPED_TRACE(input_cases[i].input);
+ AutocompleteInput input(input_cases[i].input,
+ input_cases[i].cursor_position,
+ string16(), true, false, true,
+ AutocompleteInput::ALL_MATCHES);
+ EXPECT_EQ(input_cases[i].normalized_input, input.text());
+ EXPECT_EQ(input_cases[i].normalized_cursor_position,
+ input.cursor_position());
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698