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 UI_VIEWS_TEST_VIEWS_TEST_HELPER_H_ 6 #define UI_VIEWS_TEST_VIEWS_TEST_HELPER_H_ 7 8 #include "ui/gfx/native_widget_types.h" 9 10 namespace base { 11 class MessageLoopForUI; 12 } 13 14 namespace ui { 15 class ContextFactory; 16 } 17 18 namespace views { 19 20 // A helper class owned by tests that performs platform specific initialization 21 // required for running tests. 22 class ViewsTestHelper { 23 public: 24 explicit ViewsTestHelper(); 25 virtual ~ViewsTestHelper(); 26 27 // Create a platform specific instance. 28 static ViewsTestHelper* Create(base::MessageLoopForUI* message_loop, 29 ui::ContextFactory* context_factory); 30 31 // Creates objects that are needed for tests. 32 virtual void SetUp(); 33 34 // Clean up objects that were created for tests. 35 virtual void TearDown(); 36 37 // Returns a context view. In aura builds, this will be the 38 // RootWindow. Everywhere else, NULL. 39 virtual gfx::NativeWindow GetContext(); 40 41 private: 42 DISALLOW_COPY_AND_ASSIGN(ViewsTestHelper); 43 }; 44 45 } // namespace views 46 47 #endif // UI_VIEWS_TEST_VIEWS_TEST_HELPER_H_ 48