Commit 85b674c2 authored by My Nguyen's avatar My Nguyen Committed by Commit Bot

[EmojiSuggest] Give suggestions when word has open bracket

Screenshot: http://screen/6acSzc7a52VoxFS

Fix: b/165460145
Change-Id: I480bb444b6b00f7dd1df41603a1754405c31356e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2460068
Commit-Queue: My Nguyen <myy@chromium.org>
Reviewed-by: default avatarJing Wang <jiwan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#815413}
parent e09496d0
...@@ -34,6 +34,7 @@ constexpr char kEmojiSuggesterShowSettingCount[] = ...@@ -34,6 +34,7 @@ constexpr char kEmojiSuggesterShowSettingCount[] =
"emoji_suggester.show_setting_count"; "emoji_suggester.show_setting_count";
const int kMaxCandidateSize = 5; const int kMaxCandidateSize = 5;
const char kSpaceChar = ' '; const char kSpaceChar = ' ';
constexpr char kTrimLeadingChars[] = "(";
constexpr char kEmojiMapFilePathTemplateName[] = "/emoji/emoji-map%s.csv"; constexpr char kEmojiMapFilePathTemplateName[] = "/emoji/emoji-map%s.csv";
const int kMaxSuggestionIndex = 31; const int kMaxSuggestionIndex = 31;
const int kMaxSuggestionSize = kMaxSuggestionIndex + 1; const int kMaxSuggestionSize = kMaxSuggestionIndex + 1;
...@@ -71,10 +72,15 @@ std::string GetLastWord(const std::string& str) { ...@@ -71,10 +72,15 @@ std::string GetLastWord(const std::string& str) {
// If not found, return the entire string up to the last position to search // If not found, return the entire string up to the last position to search
// else return the last word. // else return the last word.
return space_before_last_word == std::string::npos const std::string last_word =
? str.substr(0, last_pos_to_search + 1) space_before_last_word == std::string::npos
: str.substr(space_before_last_word + 1, ? str.substr(0, last_pos_to_search + 1)
last_pos_to_search - space_before_last_word); : str.substr(space_before_last_word + 1,
last_pos_to_search - space_before_last_word);
// Remove any leading special characters
return base::ToLowerASCII(
base::TrimString(last_word, kTrimLeadingChars, base::TRIM_LEADING));
} }
void RecordTimeToAccept(base::TimeDelta delta) { void RecordTimeToAccept(base::TimeDelta delta) {
......
...@@ -139,6 +139,10 @@ TEST_F(EmojiSuggesterTest, SuggestWhenStringEndsWithSpace) { ...@@ -139,6 +139,10 @@ TEST_F(EmojiSuggesterTest, SuggestWhenStringEndsWithSpace) {
EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy "))); EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy ")));
} }
TEST_F(EmojiSuggesterTest, SuggestWhenStringStartsWithOpenBracket) {
EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("(happy ")));
}
TEST_F(EmojiSuggesterTest, SuggestWhenStringEndsWithSpaceAndIsUppercase) { TEST_F(EmojiSuggesterTest, SuggestWhenStringEndsWithSpaceAndIsUppercase) {
EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("HAPPY "))); EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("HAPPY ")));
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment