Disable TabDragController tests that fail with a real compositor.
[chromium-blink-merge.git] / chrome / browser / ui / gtk / omnibox / omnibox_view_gtk_unittest.cc
blob11a2a25bc3a7cde7e31ac328bc2d3485f433d941
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
3 // found in the LICENSE file.
5 #include "chrome/browser/ui/gtk/omnibox/omnibox_view_gtk.h"
7 #include <gtk/gtk.h>
9 #include "base/strings/utf_string_conversions.h"
10 #include "chrome/browser/autocomplete/autocomplete_match.h"
11 #include "chrome/browser/ui/browser.h"
12 #include "chrome/browser/ui/omnibox/omnibox_edit_controller.h"
13 #include "chrome/test/base/testing_profile.h"
14 #include "content/public/test/test_browser_thread.h"
15 #include "testing/gmock/include/gmock/gmock.h"
16 #include "testing/platform_test.h"
17 #include "ui/base/gtk/gtk_hig_constants.h"
18 #include "ui/gfx/image/image.h"
20 namespace {
21 class OmniboxEditControllerMock : public OmniboxEditController {
22 public:
23 OmniboxEditControllerMock() : OmniboxEditController(NULL) {}
24 virtual ~OmniboxEditControllerMock() {}
26 MOCK_METHOD1(Update, void(const content::WebContents* contents));
27 MOCK_METHOD0(OnChanged, void());
28 MOCK_METHOD0(OnSetFocus, void());
29 MOCK_METHOD0(GetInstant, InstantController*());
30 MOCK_METHOD0(GetWebContents, content::WebContents*());
31 MOCK_METHOD0(GetToolbarModel, ToolbarModel*());
32 MOCK_CONST_METHOD0(GetToolbarModel, ToolbarModel*());
34 } // namespace
36 class OmniboxViewGtkTest : public PlatformTest {
37 public:
38 OmniboxViewGtkTest() : file_thread_(content::BrowserThread::UI) {}
40 virtual void SetUp() {
41 PlatformTest::SetUp();
42 profile_.reset(new TestingProfile);
43 window_ = gtk_window_new(GTK_WINDOW_POPUP);
44 controller_.reset(new OmniboxEditControllerMock);
45 view_.reset(new OmniboxViewGtk(controller_.get(), NULL, profile_.get(),
46 NULL, false, window_));
47 view_->Init();
48 text_buffer_ = view_->text_buffer_;
51 virtual void TearDown() {
52 gtk_widget_destroy(window_);
53 PlatformTest::TearDown();
56 void SetPasteClipboardRequested(bool b) {
57 view_->paste_clipboard_requested_ = b;
60 scoped_ptr<OmniboxEditControllerMock> controller_;
61 scoped_ptr<TestingProfile> profile_;
62 GtkTextBuffer* text_buffer_;
63 scoped_ptr<OmniboxViewGtk> view_;
64 GtkWidget* window_;
65 content::TestBrowserThread file_thread_;
67 private:
68 DISALLOW_COPY_AND_ASSIGN(OmniboxViewGtkTest);
71 TEST_F(OmniboxViewGtkTest, InsertText) {
72 GtkTextIter i;
73 const char input[] = " hello, world ";
74 const std::string expected = input;
75 gtk_text_buffer_get_iter_at_offset(text_buffer_, &i, 0);
76 gtk_text_buffer_insert(text_buffer_, &i, input, strlen(input));
77 ASSERT_EQ(expected, base::UTF16ToUTF8(view_->GetText()));
80 TEST_F(OmniboxViewGtkTest, PasteText) {
81 GtkTextIter i;
82 const char input[] = " hello, world ";
83 const std::string expected = "hello, world";
84 SetPasteClipboardRequested(true);
85 view_->OnBeforePossibleChange();
86 gtk_text_buffer_get_iter_at_offset(text_buffer_, &i, 0);
87 gtk_text_buffer_insert(text_buffer_, &i, input, strlen(input));
89 ASSERT_EQ(expected, base::UTF16ToUTF8(view_->GetText()));