1// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef COMPONENTS_SEARCH_ENGINES_TESTING_SEARCH_TERMS_DATA_H_
6#define COMPONENTS_SEARCH_ENGINES_TESTING_SEARCH_TERMS_DATA_H_
7
8#include "components/search_engines/search_terms_data.h"
9
10class TestingSearchTermsData : public SearchTermsData {
11 public:
12  explicit TestingSearchTermsData(const std::string& google_base_url);
13  virtual ~TestingSearchTermsData();
14
15  virtual std::string GoogleBaseURLValue() const OVERRIDE;
16  virtual base::string16 GetRlzParameterValue(
17      bool from_app_list) const OVERRIDE;
18  virtual std::string GetSearchClient() const OVERRIDE;
19  virtual std::string GoogleImageSearchSource() const OVERRIDE;
20  virtual bool EnableAnswersInSuggest() const OVERRIDE;
21  virtual bool IsShowingSearchTermsOnSearchResultsPages() const OVERRIDE;
22  virtual int OmniboxStartMargin() const OVERRIDE;
23
24  void set_google_base_url(const std::string& google_base_url) {
25    google_base_url_ = google_base_url;
26  }
27  void set_search_client(const std::string& search_client) {
28    search_client_ = search_client;
29  }
30  void set_enable_answers_in_suggest(bool enable_answers_in_suggest) {
31    enable_answers_in_suggest_ = enable_answers_in_suggest;
32  }
33  void set_is_showing_search_terms_on_search_results_pages(bool value) {
34    is_showing_search_terms_on_search_results_pages_ = value;
35  }
36  void set_omnibox_start_margin(int omnibox_start_margin) {
37    omnibox_start_margin_ = omnibox_start_margin;
38  }
39
40 private:
41  std::string google_base_url_;
42  std::string search_client_;
43  bool enable_answers_in_suggest_;
44  bool is_showing_search_terms_on_search_results_pages_;
45  int omnibox_start_margin_;
46
47  DISALLOW_COPY_AND_ASSIGN(TestingSearchTermsData);
48};
49
50#endif  // COMPONENTS_SEARCH_ENGINES_TESTING_SEARCH_TERMS_DATA_H_
51