1 // Copyright (c) 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. 4 5 #ifndef UI_VIEWS_COREWM_TOOLTIP_CONTROLLER_TEST_HELPER_H_ 6 #define UI_VIEWS_COREWM_TOOLTIP_CONTROLLER_TEST_HELPER_H_ 7 8 #include "base/logging.h" 9 #include "base/strings/string16.h" 10 #include "ui/views/view.h" 11 #include "ui/views/views_export.h" 12 13 namespace aura { 14 class Window; 15 } 16 17 namespace views { 18 namespace corewm { 19 20 class TooltipController; 21 22 namespace test { 23 24 // TooltipControllerTestHelper provides access to TooltipControllers private 25 // state. 26 class TooltipControllerTestHelper { 27 public: 28 explicit TooltipControllerTestHelper(TooltipController* controller); 29 ~TooltipControllerTestHelper(); 30 31 TooltipController* controller() { return controller_; } 32 33 // These are mostly cover methods for TooltipController private methods. 34 base::string16 GetTooltipText(); 35 aura::Window* GetTooltipWindow(); 36 void FireTooltipTimer(); 37 bool IsTooltipTimerRunning(); 38 void FireTooltipShownTimer(); 39 bool IsTooltipShownTimerRunning(); 40 bool IsTooltipVisible(); 41 42 private: 43 TooltipController* controller_; 44 45 DISALLOW_COPY_AND_ASSIGN(TooltipControllerTestHelper); 46 }; 47 48 // Trivial View subclass that lets you set the tooltip text. 49 class TooltipTestView : public views::View { 50 public: 51 TooltipTestView(); 52 virtual ~TooltipTestView(); 53 54 void set_tooltip_text(base::string16 tooltip_text) { 55 tooltip_text_ = tooltip_text; 56 } 57 58 // Overridden from views::View 59 virtual bool GetTooltipText(const gfx::Point& p, 60 base::string16* tooltip) const OVERRIDE; 61 62 private: 63 base::string16 tooltip_text_; 64 65 DISALLOW_COPY_AND_ASSIGN(TooltipTestView); 66 }; 67 68 69 } // namespace test 70 } // namespace corewm 71 } // namespace views 72 73 #endif // UI_VIEWS_COREWM_TOOLTIP_CONTROLLER_TEST_HELPER_H_ 74