Index: chrome/browser/autocomplete/history_url_provider_unittest.cc |
=================================================================== |
--- chrome/browser/autocomplete/history_url_provider_unittest.cc (revision 104960) |
+++ chrome/browser/autocomplete/history_url_provider_unittest.cc (working copy) |
@@ -444,7 +444,9 @@ |
RunTest(ASCIIToUTF16("\\"), string16(), false, NULL, 0); |
RunTest(ASCIIToUTF16("#"), string16(), false, NULL, 0); |
RunTest(ASCIIToUTF16("%20"), string16(), false, NULL, 0); |
- RunTest(WideToUTF16(L"\uff65@s"), string16(), false, NULL, 0); |
+ const std::string fixup_crash[] = {"http://%EF%BD%A5@s/"}; |
+ RunTest(WideToUTF16(L"\uff65@s"), string16(), false, fixup_crash, |
+ arraysize(fixup_crash)); |
RunTest(WideToUTF16(L"\u2015\u2015@ \uff7c"), string16(), false, NULL, 0); |
// Fixing up "file:" should result in an inline autocomplete offset of just |
@@ -547,30 +549,40 @@ |
TEST_F(HistoryURLProviderTest, TreatEmailsAsSearches) { |
// Visiting foo.com should not make this string be treated as a navigation. |
- RunTest(ASCIIToUTF16("user@foo.com"), string16(), false, NULL, 0); |
+ // That means the result should be scored at 1200 ("what you typed") and not |
+ // 1400+. |
+ const std::string expected[] = {"http://user@foo.com/"}; |
+ ASSERT_NO_FATAL_FAILURE(RunTest(ASCIIToUTF16("user@foo.com"), string16(), |
+ false, expected, arraysize(expected))); |
+ EXPECT_EQ(1200, matches_[0].relevance); |
} |
TEST_F(HistoryURLProviderTest, IntranetURLsWithPaths) { |
struct TestCase { |
const char* input; |
- bool has_output; |
+ int relevance; |
} test_cases[] = { |
- { "fooey", false }, |
- { "fooey/", true }, |
- { "fooey/a", false }, |
- { "fooey/a b", false }, |
- { "gooey", true }, |
- { "gooey/", true }, |
- { "gooey/a", true }, |
- { "gooey/a b", true }, |
+ { "fooey", 0 }, |
+ { "fooey/", 1200 }, // 1200 for URL would still navigate by default. |
+ { "fooey/a", 1200 }, // 1200 for UNKNOWN would not. |
+ { "fooey/a b", 1200 }, // Also UNKNOWN. |
+ { "gooey", 1410 }, |
+ { "gooey/", 1410 }, |
+ { "gooey/a", 1400 }, |
+ { "gooey/a b", 1400 }, |
}; |
for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_cases); ++i) { |
- const std::string output[1] = { |
- URLFixerUpper::FixupURL(test_cases[i].input, std::string()).spec() |
- }; |
- RunTest(ASCIIToUTF16(test_cases[i].input), string16(), false, |
- test_cases[i].has_output ? output : NULL, |
- test_cases[i].has_output ? 1 : 0); |
+ SCOPED_TRACE(test_cases[i].input); |
+ if (test_cases[i].relevance == 0) { |
+ RunTest(ASCIIToUTF16(test_cases[i].input), string16(), false, NULL, 0); |
+ } else { |
+ const std::string output[] = { |
+ URLFixerUpper::FixupURL(test_cases[i].input, std::string()).spec() |
+ }; |
+ ASSERT_NO_FATAL_FAILURE(RunTest(ASCIIToUTF16(test_cases[i].input), |
+ string16(), false, output, arraysize(output))); |
+ EXPECT_EQ(test_cases[i].relevance, matches_[0].relevance); |
+ } |
} |
} |