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 10namespace base { 11class MessageLoopForUI; 12} 13 14namespace ui { 15class ContextFactory; 16} 17 18namespace views { 19 20// A helper class owned by tests that performs platform specific initialization 21// required for running tests. 22class 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