| Index: chrome/browser/android/contextualsearch/contextual_search_delegate_unittest.cc
|
| diff --git a/chrome/browser/android/contextualsearch/contextual_search_delegate_unittest.cc b/chrome/browser/android/contextualsearch/contextual_search_delegate_unittest.cc
|
| index 0dca49face351a7c43246cc5d3a07486cf89fbe5..7f70696180ce2eaba015cde1ccd505d0ee5a6e4f 100644
|
| --- a/chrome/browser/android/contextualsearch/contextual_search_delegate_unittest.cc
|
| +++ b/chrome/browser/android/contextualsearch/contextual_search_delegate_unittest.cc
|
| @@ -9,6 +9,7 @@
|
| #include "base/strings/utf_string_conversions.h"
|
| #include "base/values.h"
|
| #include "chrome/browser/android/contextualsearch/contextual_search_context.h"
|
| +#include "chrome/browser/android/contextualsearch/resolved_search_term.h"
|
| #include "components/search_engines/template_url_service.h"
|
| #include "net/base/escape.h"
|
| #include "net/url_request/test_url_fetcher_factory.h"
|
| @@ -50,6 +51,7 @@ class ContextualSearchDelegateTest : public testing::Test {
|
| response_code_ = -1;
|
| search_term_ = "invalid";
|
| display_text_ = "unknown";
|
| + context_language_ = "";
|
| }
|
|
|
| TemplateURLService* CreateTemplateURLService() {
|
| @@ -137,27 +139,23 @@ class ContextualSearchDelegateTest : public testing::Test {
|
| std::string after_text() { return after_text_; }
|
| int start_adjust() { return start_adjust_; }
|
| int end_adjust() { return end_adjust_; }
|
| + std::string context_language() { return context_language_; }
|
|
|
| // The delegate under test.
|
| scoped_ptr<ContextualSearchDelegate> delegate_;
|
|
|
| private:
|
| - void recordSearchTermResolutionResponse(bool is_invalid,
|
| - int response_code,
|
| - const std::string& search_term,
|
| - const std::string& display_text,
|
| - const std::string& alternate_term,
|
| - bool prevent_preload,
|
| - int start_adjust,
|
| - int end_adjust) {
|
| - is_invalid_ = is_invalid;
|
| - response_code_ = response_code;
|
| - search_term_ = search_term;
|
| - display_text_ = display_text;
|
| - alternate_term_ = alternate_term;
|
| - prevent_preload_ = prevent_preload;
|
| - start_adjust_ = start_adjust;
|
| - end_adjust_ = end_adjust;
|
| + void recordSearchTermResolutionResponse(
|
| + const ResolvedSearchTerm& resolved_search_term) {
|
| + is_invalid_ = resolved_search_term.is_invalid;
|
| + response_code_ = resolved_search_term.response_code;
|
| + search_term_ = resolved_search_term.search_term;
|
| + display_text_ = resolved_search_term.display_text;
|
| + alternate_term_ = resolved_search_term.alternate_term;
|
| + prevent_preload_ = resolved_search_term.prevent_preload;
|
| + start_adjust_ = resolved_search_term.selection_start_adjust;
|
| + end_adjust_ = resolved_search_term.selection_end_adjust;
|
| + context_language_ = resolved_search_term.context_language;
|
| }
|
|
|
| void recordSurroundingText(const std::string& after_text) {
|
| @@ -180,6 +178,7 @@ class ContextualSearchDelegateTest : public testing::Test {
|
| int start_adjust_;
|
| int end_adjust_;
|
| std::string after_text_;
|
| + std::string context_language_;
|
|
|
| base::MessageLoopForIO io_message_loop_;
|
| net::TestURLFetcherFactory test_factory_;
|
| @@ -452,7 +451,7 @@ TEST_F(ContextualSearchDelegateTest, SurroundingTextForIcingNegativeLimit) {
|
| EXPECT_EQ(base::ASCIIToUTF16("Barack Obama"), result);
|
| }
|
|
|
| -TEST_F(ContextualSearchDelegateTest, DecodeSearchTermsFromJsonResponse) {
|
| +TEST_F(ContextualSearchDelegateTest, DecodeSearchTermFromJsonResponse) {
|
| std::string json_with_escape =
|
| ")]}'\n"
|
| "{\"mid\":\"/m/02mjmr\", \"search_term\":\"obama\","
|
| @@ -465,12 +464,31 @@ TEST_F(ContextualSearchDelegateTest, DecodeSearchTermsFromJsonResponse) {
|
| std::string prevent_preload;
|
| int mention_start;
|
| int mention_end;
|
| - delegate_->DecodeSearchTermsFromJsonResponse(json_with_escape, &search_term,
|
| - &display_text, &alternate_term,
|
| - &prevent_preload, &mention_start,
|
| - &mention_end);
|
| + std::string context_language;
|
| + delegate_->DecodeSearchTermFromJsonResponse(
|
| + json_with_escape, &search_term, &display_text, &alternate_term,
|
| + &prevent_preload, &mention_start, &mention_end, &context_language);
|
| EXPECT_EQ("obama", search_term);
|
| EXPECT_EQ("Barack Obama", display_text);
|
| EXPECT_EQ("barack obama", alternate_term);
|
| EXPECT_EQ("", prevent_preload);
|
| + EXPECT_EQ("", context_language);
|
| +}
|
| +
|
| +TEST_F(ContextualSearchDelegateTest, ResponseWithLanguage) {
|
| + CreateDefaultSearchContextAndRequestSearchTerm();
|
| + fetcher()->set_response_code(200);
|
| + fetcher()->SetResponseString(
|
| + "{\"mid\":\"/m/02mjmr\",\"search_term\":\"obama\","
|
| + "\"mentions\":[0,15],\"prevent_preload\":\"1\", "
|
| + "\"lang\":\"de\"}");
|
| + fetcher()->delegate()->OnURLFetchComplete(fetcher());
|
| +
|
| + EXPECT_FALSE(is_invalid());
|
| + EXPECT_EQ(200, response_code());
|
| + EXPECT_EQ("obama", search_term());
|
| + EXPECT_EQ("obama", display_text());
|
| + EXPECT_TRUE(do_prevent_preload());
|
| + EXPECT_TRUE(DoesRequestContainOurSpecificBasePage());
|
| + EXPECT_EQ("de", context_language());
|
| }
|
|
|