• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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