OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 #ifndef CHROME_BROWSER_SEARCH_INSTANT_UNITTEST_BASE_H_ | 5 #ifndef CHROME_BROWSER_SEARCH_INSTANT_UNITTEST_BASE_H_ |
6 #define CHROME_BROWSER_SEARCH_INSTANT_UNITTEST_BASE_H_ | 6 #define CHROME_BROWSER_SEARCH_INSTANT_UNITTEST_BASE_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/metrics/field_trial.h" | 10 #include "base/metrics/field_trial.h" |
11 #include "chrome/browser/search/instant_service.h" | 11 #include "chrome/browser/search/instant_service.h" |
12 #include "chrome/browser/search_engines/template_url_service.h" | 12 #include "chrome/browser/search_engines/template_url_service.h" |
13 #include "chrome/test/base/browser_with_test_window_test.h" | 13 #include "chrome/test/base/browser_with_test_window_test.h" |
14 | 14 |
15 class InstantServiceObserver; | 15 class InstantServiceObserver; |
16 | 16 |
17 // This class provides an extension on top of BrowserWithTestWindowTest, and | 17 // This class provides an extension on top of BrowserWithTestWindowTest, and |
18 // adds some utility methods which can be useful for various unit tests for | 18 // adds some utility methods which can be useful for various unit tests for |
19 // Embedded Search / Instant implementation classes. | 19 // Embedded Search / Instant implementation classes. |
20 class InstantUnitTestBase : public BrowserWithTestWindowTest { | 20 class InstantUnitTestBase : public BrowserWithTestWindowTest { |
21 protected: | 21 protected: |
22 InstantUnitTestBase(); | 22 InstantUnitTestBase(); |
23 virtual ~InstantUnitTestBase(); | 23 virtual ~InstantUnitTestBase(); |
24 | 24 |
25 virtual void SetUp() OVERRIDE; | 25 virtual void SetUp() OVERRIDE; |
26 virtual void TearDown() OVERRIDE; | 26 virtual void TearDown() OVERRIDE; |
27 | 27 |
28 virtual void SetUpHelper(); | 28 #if !defined(OS_IOS) && !defined(OS_ANDROID) |
| 29 // Query extraction is always enabled on Android and iOS. |
| 30 void SetUpWithoutQueryExtraction(); |
| 31 #endif |
29 | 32 |
30 // Adds and sets the default search provider using the base_url. | 33 // Adds and sets the default search provider using the base_url. |
31 // The base_url should have the http[s]:// prefix and a trailing / after the | 34 // The base_url should have the http[s]:// prefix and a trailing / after the |
32 // TLD. | 35 // TLD. |
33 // It will always use an instant-enabled configuration using a | 36 // It will always use an instant-enabled configuration using a |
34 // search_terms_replacement_key. | 37 // search_terms_replacement_key. |
35 void SetDefaultSearchProvider(const std::string& base_url); | 38 void SetDefaultSearchProvider(const std::string& base_url); |
36 | 39 |
37 // Simulates a Google Base URL change as would happen in event of | 40 // Simulates a Google Base URL change as would happen in event of |
38 // search-domain-check. Note that the GoogleURLTrackerFactory is disabled for | 41 // search-domain-check. Note that the GoogleURLTrackerFactory is disabled for |
39 // tests, so this is required. | 42 // tests, so this is required. |
40 void NotifyGoogleBaseURLUpdate(const std::string& new_google_base_url); | 43 void NotifyGoogleBaseURLUpdate(const std::string& new_google_base_url); |
41 | 44 |
42 bool IsInstantServiceObserver(InstantServiceObserver* observer); | 45 bool IsInstantServiceObserver(InstantServiceObserver* observer); |
43 | 46 |
44 InstantService* instant_service_; | 47 InstantService* instant_service_; |
45 TemplateURLService* template_url_service_; | 48 TemplateURLService* template_url_service_; |
46 scoped_ptr<base::FieldTrialList> field_trial_list_; | 49 scoped_ptr<base::FieldTrialList> field_trial_list_; |
| 50 |
| 51 private: |
| 52 void SetUpHelper(); |
47 }; | 53 }; |
48 | 54 |
49 #endif // CHROME_BROWSER_SEARCH_INSTANT_UNITTEST_BASE_H_ | 55 #endif // CHROME_BROWSER_SEARCH_INSTANT_UNITTEST_BASE_H_ |
OLD | NEW |