OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/autocomplete/search_provider.h" | 5 #include "chrome/browser/autocomplete/search_provider.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/metrics/field_trial.h" | 10 #include "base/metrics/field_trial.h" |
(...skipping 800 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
811 AutocompleteMatch term_match_b; | 811 AutocompleteMatch term_match_b; |
812 EXPECT_TRUE(FindMatchWithDestination(term_url_b, &term_match_b)); | 812 EXPECT_TRUE(FindMatchWithDestination(term_url_b, &term_match_b)); |
813 EXPECT_GT(term_match_b.relevance, term_match_a.relevance); | 813 EXPECT_GT(term_match_b.relevance, term_match_a.relevance); |
814 EXPECT_GT(term_match_a.relevance, wyt_match.relevance); | 814 EXPECT_GT(term_match_a.relevance, wyt_match.relevance); |
815 EXPECT_TRUE(term_match_b.allowed_to_be_default_match); | 815 EXPECT_TRUE(term_match_b.allowed_to_be_default_match); |
816 EXPECT_TRUE(term_match_a.allowed_to_be_default_match); | 816 EXPECT_TRUE(term_match_a.allowed_to_be_default_match); |
817 EXPECT_TRUE(wyt_match.allowed_to_be_default_match); | 817 EXPECT_TRUE(wyt_match.allowed_to_be_default_match); |
818 } | 818 } |
819 | 819 |
820 // An autocompleted multiword search should not be replaced by a different | 820 // An autocompleted multiword search should not be replaced by a different |
821 // autocompletion while the user is still typing a valid prefix. | 821 // autocompletion while the user is still typing a valid prefix unless the |
| 822 // user has typed the prefix as a query before. |
822 TEST_F(SearchProviderTest, DontReplacePreviousAutocompletion) { | 823 TEST_F(SearchProviderTest, DontReplacePreviousAutocompletion) { |
823 GURL term_url_a(AddSearchToHistory(default_t_url_, | 824 GURL term_url_a(AddSearchToHistory(default_t_url_, |
824 ASCIIToUTF16("four searches aaa"), 2)); | 825 ASCIIToUTF16("four searches aaa"), 3)); |
825 GURL term_url_b(AddSearchToHistory(default_t_url_, | 826 GURL term_url_b(AddSearchToHistory(default_t_url_, |
826 ASCIIToUTF16("four searches bbb"), 1)); | 827 ASCIIToUTF16("four searches bbb"), 1)); |
| 828 GURL term_url_c(AddSearchToHistory(default_t_url_, |
| 829 ASCIIToUTF16("four searches"), 1)); |
827 profile_.BlockUntilHistoryProcessesPendingRequests(); | 830 profile_.BlockUntilHistoryProcessesPendingRequests(); |
828 | 831 |
829 AutocompleteMatch wyt_match; | 832 AutocompleteMatch wyt_match; |
830 ASSERT_NO_FATAL_FAILURE(QueryForInputAndSetWYTMatch(ASCIIToUTF16("fo"), | 833 ASSERT_NO_FATAL_FAILURE(QueryForInputAndSetWYTMatch(ASCIIToUTF16("fo"), |
831 &wyt_match)); | 834 &wyt_match)); |
832 ASSERT_EQ(3u, provider_->matches().size()); | 835 ASSERT_EQ(4u, provider_->matches().size()); |
833 AutocompleteMatch term_match_a; | 836 AutocompleteMatch term_match_a; |
834 EXPECT_TRUE(FindMatchWithDestination(term_url_a, &term_match_a)); | 837 EXPECT_TRUE(FindMatchWithDestination(term_url_a, &term_match_a)); |
835 AutocompleteMatch term_match_b; | 838 AutocompleteMatch term_match_b; |
836 EXPECT_TRUE(FindMatchWithDestination(term_url_b, &term_match_b)); | 839 EXPECT_TRUE(FindMatchWithDestination(term_url_b, &term_match_b)); |
| 840 AutocompleteMatch term_match_c; |
| 841 EXPECT_TRUE(FindMatchWithDestination(term_url_c, &term_match_c)); |
837 EXPECT_GT(term_match_a.relevance, wyt_match.relevance); | 842 EXPECT_GT(term_match_a.relevance, wyt_match.relevance); |
| 843 // We don't care about the relative order of b and c. |
| 844 EXPECT_GT(wyt_match.relevance, term_match_b.relevance); |
| 845 EXPECT_GT(wyt_match.relevance, term_match_c.relevance); |
| 846 EXPECT_TRUE(term_match_a.allowed_to_be_default_match); |
| 847 EXPECT_TRUE(term_match_b.allowed_to_be_default_match); |
| 848 EXPECT_TRUE(term_match_c.allowed_to_be_default_match); |
| 849 EXPECT_TRUE(wyt_match.allowed_to_be_default_match); |
| 850 |
| 851 ASSERT_NO_FATAL_FAILURE(QueryForInputAndSetWYTMatch(ASCIIToUTF16("four se"), |
| 852 &wyt_match)); |
| 853 ASSERT_EQ(4u, provider_->matches().size()); |
| 854 EXPECT_TRUE(FindMatchWithDestination(term_url_a, &term_match_a)); |
| 855 EXPECT_TRUE(FindMatchWithDestination(term_url_b, &term_match_b)); |
| 856 EXPECT_TRUE(FindMatchWithDestination(term_url_c, &term_match_c)); |
| 857 EXPECT_GT(term_match_a.relevance, wyt_match.relevance); |
| 858 EXPECT_GT(wyt_match.relevance, term_match_b.relevance); |
| 859 EXPECT_GT(wyt_match.relevance, term_match_c.relevance); |
| 860 EXPECT_TRUE(term_match_a.allowed_to_be_default_match); |
| 861 EXPECT_TRUE(term_match_b.allowed_to_be_default_match); |
| 862 EXPECT_TRUE(term_match_c.allowed_to_be_default_match); |
| 863 EXPECT_TRUE(wyt_match.allowed_to_be_default_match); |
| 864 |
| 865 // For the exact previously-issued query, the what-you-typed match should win. |
| 866 ASSERT_NO_FATAL_FAILURE( |
| 867 QueryForInputAndSetWYTMatch(ASCIIToUTF16("four searches"), &wyt_match)); |
| 868 ASSERT_EQ(3u, provider_->matches().size()); |
| 869 EXPECT_TRUE(FindMatchWithDestination(term_url_a, &term_match_a)); |
| 870 EXPECT_TRUE(FindMatchWithDestination(term_url_b, &term_match_b)); |
| 871 EXPECT_GT(wyt_match.relevance, term_match_a.relevance); |
838 EXPECT_GT(wyt_match.relevance, term_match_b.relevance); | 872 EXPECT_GT(wyt_match.relevance, term_match_b.relevance); |
839 EXPECT_TRUE(term_match_a.allowed_to_be_default_match); | 873 EXPECT_TRUE(term_match_a.allowed_to_be_default_match); |
840 EXPECT_TRUE(term_match_b.allowed_to_be_default_match); | 874 EXPECT_TRUE(term_match_b.allowed_to_be_default_match); |
841 EXPECT_TRUE(wyt_match.allowed_to_be_default_match); | 875 EXPECT_TRUE(wyt_match.allowed_to_be_default_match); |
842 | |
843 ASSERT_NO_FATAL_FAILURE(QueryForInputAndSetWYTMatch(ASCIIToUTF16("four se"), | |
844 &wyt_match)); | |
845 ASSERT_EQ(3u, provider_->matches().size()); | |
846 EXPECT_TRUE(FindMatchWithDestination(term_url_a, &term_match_a)); | |
847 EXPECT_TRUE(FindMatchWithDestination(term_url_b, &term_match_b)); | |
848 EXPECT_GT(term_match_a.relevance, wyt_match.relevance); | |
849 EXPECT_GT(wyt_match.relevance, term_match_b.relevance); | |
850 EXPECT_TRUE(term_match_a.allowed_to_be_default_match); | |
851 EXPECT_TRUE(term_match_b.allowed_to_be_default_match); | |
852 EXPECT_TRUE(wyt_match.allowed_to_be_default_match); | |
853 } | 876 } |
854 | 877 |
855 // Non-completable multiword searches should not crowd out single-word searches. | 878 // Non-completable multiword searches should not crowd out single-word searches. |
856 TEST_F(SearchProviderTest, DontCrowdOutSingleWords) { | 879 TEST_F(SearchProviderTest, DontCrowdOutSingleWords) { |
857 GURL term_url(AddSearchToHistory(default_t_url_, ASCIIToUTF16("five"), 1)); | 880 GURL term_url(AddSearchToHistory(default_t_url_, ASCIIToUTF16("five"), 1)); |
858 AddSearchToHistory(default_t_url_, ASCIIToUTF16("five searches bbb"), 1); | 881 AddSearchToHistory(default_t_url_, ASCIIToUTF16("five searches bbb"), 1); |
859 AddSearchToHistory(default_t_url_, ASCIIToUTF16("five searches ccc"), 1); | 882 AddSearchToHistory(default_t_url_, ASCIIToUTF16("five searches ccc"), 1); |
860 AddSearchToHistory(default_t_url_, ASCIIToUTF16("five searches ddd"), 1); | 883 AddSearchToHistory(default_t_url_, ASCIIToUTF16("five searches ddd"), 1); |
861 AddSearchToHistory(default_t_url_, ASCIIToUTF16("five searches eee"), 1); | 884 AddSearchToHistory(default_t_url_, ASCIIToUTF16("five searches eee"), 1); |
862 profile_.BlockUntilHistoryProcessesPendingRequests(); | 885 profile_.BlockUntilHistoryProcessesPendingRequests(); |
(...skipping 2330 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3193 | 3216 |
3194 // The expiration time is always updated. | 3217 // The expiration time is always updated. |
3195 provider_->GetSessionToken(); | 3218 provider_->GetSessionToken(); |
3196 base::TimeTicks expiration_time_1 = provider_->token_expiration_time_; | 3219 base::TimeTicks expiration_time_1 = provider_->token_expiration_time_; |
3197 base::PlatformThread::Sleep(kSmallDelta); | 3220 base::PlatformThread::Sleep(kSmallDelta); |
3198 provider_->GetSessionToken(); | 3221 provider_->GetSessionToken(); |
3199 base::TimeTicks expiration_time_2 = provider_->token_expiration_time_; | 3222 base::TimeTicks expiration_time_2 = provider_->token_expiration_time_; |
3200 EXPECT_GT(expiration_time_2, expiration_time_1); | 3223 EXPECT_GT(expiration_time_2, expiration_time_1); |
3201 EXPECT_GE(expiration_time_2, expiration_time_1 + kSmallDelta); | 3224 EXPECT_GE(expiration_time_2, expiration_time_1 + kSmallDelta); |
3202 } | 3225 } |
OLD | NEW |