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

Unified Diff: chrome/browser/history/query_parser_unittest.cc

Issue 9316129: Don't strip punctuation inside quotes in history search queries. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase. Created 7 years, 8 months 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/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) {

Powered by Google App Engine
This is Rietveld 408576698