OLD | NEW |
---|---|
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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 "base/string_util.h" | 5 #include "base/string_util.h" |
6 #include "base/time.h" | 6 #include "base/time.h" |
7 #include "build/build_config.h" | 7 #include "build/build_config.h" |
8 #include "chrome/browser/autocomplete/search_provider.h" | 8 #include "chrome/browser/autocomplete/search_provider.h" |
9 #include "chrome/browser/chrome_thread.h" | |
9 #include "chrome/browser/history/history.h" | 10 #include "chrome/browser/history/history.h" |
10 #include "chrome/browser/net/test_url_fetcher_factory.h" | 11 #include "chrome/browser/net/test_url_fetcher_factory.h" |
11 #include "chrome/browser/search_engines/template_url.h" | 12 #include "chrome/browser/search_engines/template_url.h" |
12 #include "chrome/browser/search_engines/template_url_model.h" | 13 #include "chrome/browser/search_engines/template_url_model.h" |
13 #include "chrome/test/testing_profile.h" | 14 #include "chrome/test/testing_profile.h" |
14 #include "net/url_request/url_request_status.h" | 15 #include "net/url_request/url_request_status.h" |
15 #include "testing/gtest/include/gtest/gtest.h" | 16 #include "testing/gtest/include/gtest/gtest.h" |
16 | 17 |
17 // The following environment is configured for these tests: | 18 // The following environment is configured for these tests: |
18 // . The TemplateURL default_t_url_ is set as the default provider. | 19 // . The TemplateURL default_t_url_ is set as the default provider. |
19 // . The TemplateURL keyword_t_url_ is added to the TemplateURLModel. This | 20 // . The TemplateURL keyword_t_url_ is added to the TemplateURLModel. This |
20 // TemplateURL has a valid suggest and search URL. | 21 // TemplateURL has a valid suggest and search URL. |
21 // . The URL created by using the search term term1_ with default_t_url_ is | 22 // . The URL created by using the search term term1_ with default_t_url_ is |
22 // added to history. | 23 // added to history. |
23 // . The URL created by using the search term keyword_term_ with keyword_t_url_ | 24 // . The URL created by using the search term keyword_term_ with keyword_t_url_ |
24 // is added to history. | 25 // is added to history. |
25 // . test_factory_ is set as the URLFetcher::Factory. | 26 // . test_factory_ is set as the URLFetcher::Factory. |
26 class SearchProviderTest : public testing::Test, | 27 class SearchProviderTest : public testing::Test, |
27 public AutocompleteProvider::ACProviderListener { | 28 public AutocompleteProvider::ACProviderListener { |
28 public: | 29 public: |
29 SearchProviderTest() | 30 SearchProviderTest() |
30 : default_t_url_(NULL), | 31 : default_t_url_(NULL), |
31 term1_(L"term1"), | 32 term1_(L"term1"), |
32 keyword_t_url_(NULL), | 33 keyword_t_url_(NULL), |
33 keyword_term_(L"keyword"), | 34 keyword_term_(L"keyword"), |
34 quit_when_done_(false) {} | 35 io_thread_(ChromeThread::IO), |
darin (slow to review)
2009/10/27 00:06:52
does this test thread need to be a real IO thread?
jam
2009/10/27 02:38:18
It already had a MessageLoopForUI before. I just
jam
2009/10/27 02:46:29
oops, I realize what you mean now. I needed a Chr
darin (slow to review)
2009/10/27 04:43:33
OK
| |
36 quit_when_done_(false) { | |
37 io_thread_.Start(); | |
38 } | |
35 | 39 |
36 // See description above class for what this registers. | 40 // See description above class for what this registers. |
37 virtual void SetUp(); | 41 virtual void SetUp(); |
38 | 42 |
39 virtual void TearDown(); | 43 virtual void TearDown(); |
40 | 44 |
41 protected: | 45 protected: |
42 // Returns an AutocompleteMatch in provider_'s set of matches that matches | 46 // Returns an AutocompleteMatch in provider_'s set of matches that matches |
43 // |url|. If there is no matching URL, an empty match is returned. | 47 // |url|. If there is no matching URL, an empty match is returned. |
44 AutocompleteMatch FindMatchWithDestination(const GURL& url); | 48 AutocompleteMatch FindMatchWithDestination(const GURL& url); |
(...skipping 10 matching lines...) Expand all Loading... | |
55 void QueryForInput(const std::wstring& text); | 59 void QueryForInput(const std::wstring& text); |
56 | 60 |
57 // See description above class for details of these fields. | 61 // See description above class for details of these fields. |
58 TemplateURL* default_t_url_; | 62 TemplateURL* default_t_url_; |
59 const std::wstring term1_; | 63 const std::wstring term1_; |
60 GURL term1_url_; | 64 GURL term1_url_; |
61 TemplateURL* keyword_t_url_; | 65 TemplateURL* keyword_t_url_; |
62 const std::wstring keyword_term_; | 66 const std::wstring keyword_term_; |
63 GURL keyword_url_; | 67 GURL keyword_url_; |
64 | 68 |
69 MessageLoopForUI message_loop_; | |
70 ChromeThread io_thread_; | |
71 | |
65 // URLFetcher::Factory implementation registered. | 72 // URLFetcher::Factory implementation registered. |
66 TestURLFetcherFactory test_factory_; | 73 TestURLFetcherFactory test_factory_; |
67 | 74 |
68 MessageLoopForUI message_loop_; | |
69 | |
70 // Profile we use. | 75 // Profile we use. |
71 TestingProfile profile_; | 76 TestingProfile profile_; |
72 | 77 |
73 // The provider. | 78 // The provider. |
74 scoped_refptr<SearchProvider> provider_; | 79 scoped_refptr<SearchProvider> provider_; |
75 | 80 |
76 // If true, OnProviderUpdate exits out of the current message loop. | 81 // If true, OnProviderUpdate exits out of the current message loop. |
77 bool quit_when_done_; | 82 bool quit_when_done_; |
78 | 83 |
79 DISALLOW_COPY_AND_ASSIGN(SearchProviderTest); | 84 DISALLOW_COPY_AND_ASSIGN(SearchProviderTest); |
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
252 AutocompleteMatch match = FindMatchWithDestination(keyword_url_); | 257 AutocompleteMatch match = FindMatchWithDestination(keyword_url_); |
253 ASSERT_TRUE(!match.destination_url.is_empty()); | 258 ASSERT_TRUE(!match.destination_url.is_empty()); |
254 | 259 |
255 // The match should have a TemplateURL. | 260 // The match should have a TemplateURL. |
256 EXPECT_TRUE(match.template_url); | 261 EXPECT_TRUE(match.template_url); |
257 | 262 |
258 // The fill into edit should contain the keyword. | 263 // The fill into edit should contain the keyword. |
259 EXPECT_EQ(keyword_t_url_->keyword() + L" " + keyword_term_, | 264 EXPECT_EQ(keyword_t_url_->keyword() + L" " + keyword_term_, |
260 match.fill_into_edit); | 265 match.fill_into_edit); |
261 } | 266 } |
OLD | NEW |