| Index: chrome/browser/history/query_parser_unittest.cc
|
| diff --git a/chrome/browser/history/query_parser_unittest.cc b/chrome/browser/history/query_parser_unittest.cc
|
| index 0b34e74f0ed0995ea8adc9ec7ac0fd6a628cce1e..409dd82ff624b1a611cab0f523ee7bf5b44e10f5 100644
|
| --- a/chrome/browser/history/query_parser_unittest.cc
|
| +++ b/chrome/browser/history/query_parser_unittest.cc
|
| @@ -47,6 +47,11 @@ TEST_F(QueryParserTest, SimpleQueries) {
|
| QueryToString(WideToUTF8(L"\xAC00\xC7A5 \xBE5B\xACE0")));
|
| }
|
|
|
| +TEST_F(QueryParserTest, Numbers) {
|
| + EXPECT_EQ("66", QueryToString("66"));
|
| + EXPECT_EQ("wayne99gretzky*", QueryToString("wayne99gretzky"));
|
| +}
|
| +
|
| // Quoted substring parsing.
|
| TEST_F(QueryParserTest, Quoted) {
|
| // ASCII quotes
|
| @@ -57,6 +62,8 @@ TEST_F(QueryParserTest, Quoted) {
|
| EXPECT_EQ("miss* beg*", QueryToString("miss beg\""));
|
| // Weird formatting
|
| EXPECT_EQ("\"Many\" \"quotes\"", QueryToString("\"Many \"\"quotes"));
|
| + EXPECT_EQ("\"ab\" cd \"ef\"", QueryToString("\"ab\" cd \"ef\""));
|
| + EXPECT_EQ("tra* \"la\" la", QueryToString("tra \"la\" la"));
|
| }
|
|
|
| // Apostrophes within words should be preserved, but otherwise stripped.
|
| @@ -69,6 +76,24 @@ TEST_F(QueryParserTest, Apostrophes) {
|
| // Special characters.
|
| TEST_F(QueryParserTest, SpecialChars) {
|
| EXPECT_EQ("foo* the* bar*", QueryToString("!#:/*foo#$*;'* the!#:/*bar"));
|
| +
|
| + // Domain-name-like strings should be left intact.
|
| + EXPECT_EQ("chromium.org*", QueryToString("chromium.org"));
|
| + EXPECT_EQ("a.b.c*", QueryToString("a.b.c"));
|
| +
|
| + // More complex queries will get broken up, but that's ok.
|
| + EXPECT_EQ("hhof.com* cup* a b c d 20e*",
|
| + QueryToString("hhof.com/cup?a=b&c=d%20e"));
|
| +
|
| + // Special chars inside quotes should be preserved.
|
| + EXPECT_EQ("\"$FOO\" bar*", QueryToString("\"$FOO\" .bar*"));
|
| + EXPECT_EQ("\"hhof.com/cup?a=b&c=d%20e\"",
|
| + QueryToString("\"hhof.com/cup?a=b&c=d%20e\""));
|
| +
|
| + // Leading punctuation should always be stripped.
|
| + EXPECT_EQ("test*", QueryToString(".test"));
|
| + EXPECT_EQ("test.*", QueryToString("~test."));
|
| + EXPECT_EQ("test*", QueryToString("--test"));
|
| }
|
|
|
| TEST_F(QueryParserTest, NumWords) {
|
|
|