Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / ui / views / test / views_test_helper.h
blob8d73333bab86b15429864d1e24090925fce0b3df
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.
5 #ifndef UI_VIEWS_TEST_VIEWS_TEST_HELPER_H_
6 #define UI_VIEWS_TEST_VIEWS_TEST_HELPER_H_
8 #include "ui/gfx/native_widget_types.h"
10 namespace base {
11 class MessageLoopForUI;
14 namespace ui {
15 class ContextFactory;
18 namespace views {
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();
27 // Create a platform specific instance.
28 static ViewsTestHelper* Create(base::MessageLoopForUI* message_loop,
29 ui::ContextFactory* context_factory);
31 // Creates objects that are needed for tests.
32 virtual void SetUp();
34 // Clean up objects that were created for tests.
35 virtual void TearDown();
37 // Returns a context view. In aura builds, this will be the
38 // RootWindow. Everywhere else, NULL.
39 virtual gfx::NativeWindow GetContext();
41 private:
42 DISALLOW_COPY_AND_ASSIGN(ViewsTestHelper);
45 } // namespace views
47 #endif // UI_VIEWS_TEST_VIEWS_TEST_HELPER_H_