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
3// found in the LICENSE file.
4
5#ifndef CHROME_BROWSER_UI_TOOLBAR_TEST_TOOLBAR_MODEL_H_
6#define CHROME_BROWSER_UI_TOOLBAR_TEST_TOOLBAR_MODEL_H_
7
8#include "base/compiler_specific.h"
9#include "base/strings/string16.h"
10#include "chrome/browser/ui/toolbar/toolbar_model.h"
11
12// A ToolbarModel that is backed by instance variables, which are initialized
13// with some basic values that can be changed with the provided setters. This
14// should be used only for testing.
15class TestToolbarModel : public ToolbarModel {
16 public:
17  TestToolbarModel();
18  virtual ~TestToolbarModel();
19  virtual base::string16 GetText() const OVERRIDE;
20  virtual base::string16 GetFormattedURL(size_t* prefix_end) const OVERRIDE;
21  virtual base::string16 GetCorpusNameForMobile() const OVERRIDE;
22  virtual GURL GetURL() const OVERRIDE;
23  virtual bool WouldPerformSearchTermReplacement(
24      bool ignore_editing) const OVERRIDE;
25  virtual SecurityLevel GetSecurityLevel(bool ignore_editing) const OVERRIDE;
26  virtual int GetIcon() const OVERRIDE;
27  virtual int GetIconForSecurityLevel(SecurityLevel level) const OVERRIDE;
28  virtual base::string16 GetEVCertName() const OVERRIDE;
29  virtual bool ShouldDisplayURL() const OVERRIDE;
30
31  void set_text(const base::string16& text) { text_ = text; }
32  void set_url(const GURL& url) { url_ = url;}
33  void set_omit_url_due_to_origin_chip(bool omit_url_due_to_origin_chip) {
34    omit_url_due_to_origin_chip_ = omit_url_due_to_origin_chip;
35  }
36  void set_perform_search_term_replacement(
37      bool perform_search_term_replacement) {
38    perform_search_term_replacement_ = perform_search_term_replacement;
39  }
40  void set_security_level(SecurityLevel security_level) {
41    security_level_ = security_level;
42  }
43  void set_icon(int icon) { icon_ = icon; }
44  void set_ev_cert_name(const base::string16& ev_cert_name) {
45    ev_cert_name_ = ev_cert_name;
46  }
47  void set_should_display_url(bool should_display_url) {
48    should_display_url_ = should_display_url;
49  }
50
51 private:
52  virtual bool WouldOmitURLDueToOriginChip() const OVERRIDE;
53
54  base::string16 text_;
55  GURL url_;
56  bool omit_url_due_to_origin_chip_;
57  bool perform_search_term_replacement_;
58  SecurityLevel security_level_;
59  int icon_;
60  base::string16 ev_cert_name_;
61  bool should_display_url_;
62
63  DISALLOW_COPY_AND_ASSIGN(TestToolbarModel);
64};
65
66#endif  // CHROME_BROWSER_UI_TOOLBAR_TEST_TOOLBAR_MODEL_H_
67