OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 "base/strings/utf_string_conversions.h" | 5 #include "base/strings/utf_string_conversions.h" |
6 #include "chrome/browser/autocomplete/autocomplete_classifier_factory.h" | 6 #include "chrome/browser/autocomplete/autocomplete_classifier_factory.h" |
7 #include "chrome/browser/search_engines/template_url_service_factory.h" | 7 #include "chrome/browser/search_engines/template_url_service_factory.h" |
8 #include "chrome/browser/ui/omnibox/omnibox_edit_controller.h" | 8 #include "chrome/browser/ui/omnibox/omnibox_edit_controller.h" |
9 #include "chrome/browser/ui/omnibox/omnibox_edit_model.h" | 9 #include "chrome/browser/ui/omnibox/omnibox_edit_model.h" |
10 #include "chrome/browser/ui/omnibox/omnibox_view.h" | 10 #include "chrome/browser/ui/omnibox/omnibox_view.h" |
11 #include "chrome/browser/ui/toolbar/test_toolbar_model.h" | 11 #include "chrome/browser/ui/toolbar/test_toolbar_model.h" |
12 #include "chrome/test/base/testing_profile.h" | 12 #include "chrome/test/base/testing_profile.h" |
13 #include "testing/gtest/include/gtest/gtest.h" | 13 #include "testing/gtest/include/gtest/gtest.h" |
14 | 14 |
15 using base::ASCIIToUTF16; | 15 using base::ASCIIToUTF16; |
16 using base::UTF8ToUTF16; | 16 using base::UTF8ToUTF16; |
17 using content::WebContents; | 17 using content::WebContents; |
18 | 18 |
19 namespace { | 19 namespace { |
20 | 20 |
21 class TestingOmniboxView : public OmniboxView { | 21 class TestingOmniboxView : public OmniboxView { |
22 public: | 22 public: |
23 explicit TestingOmniboxView(OmniboxEditController* controller) | 23 explicit TestingOmniboxView(OmniboxEditController* controller) |
24 : OmniboxView(NULL, controller, NULL) {} | 24 : OmniboxView(NULL, controller, NULL) {} |
25 | 25 |
26 // OmniboxView: | 26 // OmniboxView: |
27 virtual void SaveStateToTab(WebContents* tab) override {} | 27 void SaveStateToTab(WebContents* tab) override {} |
28 virtual void OnTabChanged(const WebContents* web_contents) override {} | 28 void OnTabChanged(const WebContents* web_contents) override {} |
29 virtual void Update() override {} | 29 void Update() override {} |
30 virtual void UpdatePlaceholderText() override {} | 30 void UpdatePlaceholderText() override {} |
31 virtual void OpenMatch(const AutocompleteMatch& match, | 31 void OpenMatch(const AutocompleteMatch& match, |
32 WindowOpenDisposition disposition, | 32 WindowOpenDisposition disposition, |
33 const GURL& alternate_nav_url, | 33 const GURL& alternate_nav_url, |
34 const base::string16& pasted_text, | 34 const base::string16& pasted_text, |
35 size_t selected_line) override {} | 35 size_t selected_line) override {} |
36 virtual base::string16 GetText() const override { return text_; } | 36 base::string16 GetText() const override { return text_; } |
37 virtual void SetUserText(const base::string16& text, | 37 void SetUserText(const base::string16& text, |
38 const base::string16& display_text, | 38 const base::string16& display_text, |
39 bool update_popup) override { | 39 bool update_popup) override { |
40 text_ = display_text; | 40 text_ = display_text; |
41 } | 41 } |
42 virtual void SetWindowTextAndCaretPos(const base::string16& text, | 42 void SetWindowTextAndCaretPos(const base::string16& text, |
43 size_t caret_pos, | 43 size_t caret_pos, |
44 bool update_popup, | 44 bool update_popup, |
45 bool notify_text_changed) override { | 45 bool notify_text_changed) override { |
46 text_ = text; | 46 text_ = text; |
47 } | 47 } |
48 virtual void SetForcedQuery() override {} | 48 void SetForcedQuery() override {} |
49 virtual bool IsSelectAll() const override { return false; } | 49 bool IsSelectAll() const override { return false; } |
50 virtual bool DeleteAtEndPressed() override { return false; } | 50 bool DeleteAtEndPressed() override { return false; } |
51 virtual void GetSelectionBounds(size_t* start, size_t* end) const override {} | 51 void GetSelectionBounds(size_t* start, size_t* end) const override {} |
52 virtual void SelectAll(bool reversed) override {} | 52 void SelectAll(bool reversed) override {} |
53 virtual void RevertAll() override {} | 53 void RevertAll() override {} |
54 virtual void UpdatePopup() override {} | 54 void UpdatePopup() override {} |
55 virtual void SetFocus() override {} | 55 void SetFocus() override {} |
56 virtual void ApplyCaretVisibility() override {} | 56 void ApplyCaretVisibility() override {} |
57 virtual void OnTemporaryTextMaybeChanged( | 57 void OnTemporaryTextMaybeChanged(const base::string16& display_text, |
58 const base::string16& display_text, | 58 bool save_original_selection, |
59 bool save_original_selection, | 59 bool notify_text_changed) override { |
60 bool notify_text_changed) override { | |
61 text_ = display_text; | 60 text_ = display_text; |
62 } | 61 } |
63 virtual bool OnInlineAutocompleteTextMaybeChanged( | 62 bool OnInlineAutocompleteTextMaybeChanged(const base::string16& display_text, |
64 const base::string16& display_text, size_t user_text_length) override { | 63 size_t user_text_length) override { |
65 const bool text_changed = text_ != display_text; | 64 const bool text_changed = text_ != display_text; |
66 text_ = display_text; | 65 text_ = display_text; |
67 inline_autocomplete_text_ = display_text.substr(user_text_length); | 66 inline_autocomplete_text_ = display_text.substr(user_text_length); |
68 return text_changed; | 67 return text_changed; |
69 } | 68 } |
70 virtual void OnInlineAutocompleteTextCleared() override { | 69 void OnInlineAutocompleteTextCleared() override { |
71 inline_autocomplete_text_.clear(); | 70 inline_autocomplete_text_.clear(); |
72 } | 71 } |
73 virtual void OnRevertTemporaryText() override {} | 72 void OnRevertTemporaryText() override {} |
74 virtual void OnBeforePossibleChange() override {} | 73 void OnBeforePossibleChange() override {} |
75 virtual bool OnAfterPossibleChange() override { return false; } | 74 bool OnAfterPossibleChange() override { return false; } |
76 virtual gfx::NativeView GetNativeView() const override { return NULL; } | 75 gfx::NativeView GetNativeView() const override { return NULL; } |
77 virtual gfx::NativeView GetRelativeWindowForPopup() const override { | 76 gfx::NativeView GetRelativeWindowForPopup() const override { return NULL; } |
78 return NULL; | 77 void SetGrayTextAutocompletion(const base::string16& input) override {} |
79 } | 78 base::string16 GetGrayTextAutocompletion() const override { |
80 virtual void SetGrayTextAutocompletion( | |
81 const base::string16& input) override {} | |
82 virtual base::string16 GetGrayTextAutocompletion() const override { | |
83 return base::string16(); | 79 return base::string16(); |
84 } | 80 } |
85 virtual int GetTextWidth() const override { return 0; } | 81 int GetTextWidth() const override { return 0; } |
86 virtual int GetWidth() const override { return 0; } | 82 int GetWidth() const override { return 0; } |
87 virtual bool IsImeComposing() const override { return false; } | 83 bool IsImeComposing() const override { return false; } |
88 virtual int GetOmniboxTextLength() const override { return 0; } | 84 int GetOmniboxTextLength() const override { return 0; } |
89 virtual void EmphasizeURLComponents() override { } | 85 void EmphasizeURLComponents() override {} |
90 | 86 |
91 const base::string16& inline_autocomplete_text() const { | 87 const base::string16& inline_autocomplete_text() const { |
92 return inline_autocomplete_text_; | 88 return inline_autocomplete_text_; |
93 } | 89 } |
94 | 90 |
95 private: | 91 private: |
96 base::string16 text_; | 92 base::string16 text_; |
97 base::string16 inline_autocomplete_text_; | 93 base::string16 inline_autocomplete_text_; |
98 | 94 |
99 DISALLOW_COPY_AND_ASSIGN(TestingOmniboxView); | 95 DISALLOW_COPY_AND_ASSIGN(TestingOmniboxView); |
100 }; | 96 }; |
101 | 97 |
102 class TestingOmniboxEditController : public OmniboxEditController { | 98 class TestingOmniboxEditController : public OmniboxEditController { |
103 public: | 99 public: |
104 explicit TestingOmniboxEditController(ToolbarModel* toolbar_model) | 100 explicit TestingOmniboxEditController(ToolbarModel* toolbar_model) |
105 : OmniboxEditController(NULL), | 101 : OmniboxEditController(NULL), |
106 toolbar_model_(toolbar_model) { | 102 toolbar_model_(toolbar_model) { |
107 } | 103 } |
108 | 104 |
109 protected: | 105 protected: |
110 // OmniboxEditController: | 106 // OmniboxEditController: |
111 virtual void Update(const content::WebContents* contents) override {} | 107 void Update(const content::WebContents* contents) override {} |
112 virtual void OnChanged() override {} | 108 void OnChanged() override {} |
113 virtual void OnSetFocus() override {} | 109 void OnSetFocus() override {} |
114 virtual void ShowURL() override {} | 110 void ShowURL() override {} |
115 virtual void HideURL() override {} | 111 void HideURL() override {} |
116 virtual void EndOriginChipAnimations(bool cancel_fade) override {} | 112 void EndOriginChipAnimations(bool cancel_fade) override {} |
117 virtual InstantController* GetInstant() override { return NULL; } | 113 InstantController* GetInstant() override { return NULL; } |
118 virtual WebContents* GetWebContents() override { return NULL; } | 114 WebContents* GetWebContents() override { return NULL; } |
119 virtual ToolbarModel* GetToolbarModel() override { return toolbar_model_; } | 115 ToolbarModel* GetToolbarModel() override { return toolbar_model_; } |
120 virtual const ToolbarModel* GetToolbarModel() const override { | 116 const ToolbarModel* GetToolbarModel() const override { |
121 return toolbar_model_; | 117 return toolbar_model_; |
122 } | 118 } |
123 | 119 |
124 private: | 120 private: |
125 ToolbarModel* toolbar_model_; | 121 ToolbarModel* toolbar_model_; |
126 | 122 |
127 DISALLOW_COPY_AND_ASSIGN(TestingOmniboxEditController); | 123 DISALLOW_COPY_AND_ASSIGN(TestingOmniboxEditController); |
128 }; | 124 }; |
129 | 125 |
130 } // namespace | 126 } // namespace |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
255 | 251 |
256 model.SetUserText(UTF8ToUTF16("he")); | 252 model.SetUserText(UTF8ToUTF16("he")); |
257 model.OnPopupDataChanged(UTF8ToUTF16("llo"), NULL, base::string16(), false); | 253 model.OnPopupDataChanged(UTF8ToUTF16("llo"), NULL, base::string16(), false); |
258 EXPECT_EQ(UTF8ToUTF16("hello"), view.GetText()); | 254 EXPECT_EQ(UTF8ToUTF16("hello"), view.GetText()); |
259 EXPECT_EQ(UTF8ToUTF16("llo"), view.inline_autocomplete_text()); | 255 EXPECT_EQ(UTF8ToUTF16("llo"), view.inline_autocomplete_text()); |
260 | 256 |
261 model.AcceptTemporaryTextAsUserText(); | 257 model.AcceptTemporaryTextAsUserText(); |
262 EXPECT_EQ(UTF8ToUTF16("hello"), view.GetText()); | 258 EXPECT_EQ(UTF8ToUTF16("hello"), view.GetText()); |
263 EXPECT_EQ(base::string16(), view.inline_autocomplete_text()); | 259 EXPECT_EQ(base::string16(), view.inline_autocomplete_text()); |
264 } | 260 } |
OLD | NEW |