Updating trunk VERSION from 2139.0 to 2140.0
[chromium-blink-merge.git] / athena / test / athena_test_base.h
blob8ab8285f9f6a20e70fcf0a24dd456d01f9ea4bb1
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 ATHENA_TEST_ATHENA_TEST_BASE_H_
6 #define ATHENA_TEST_ATHENA_TEST_BASE_H_
8 #include "athena/test/athena_test_helper.h"
9 #include "base/macros.h"
10 #include "base/message_loop/message_loop.h"
11 #include "testing/gtest/include/gtest/gtest.h"
13 namespace aura {
14 class Window;
15 class WindowDelegate;
18 namespace athena {
19 namespace test {
21 // A base class for athena unit tests.
22 class AthenaTestBase : public testing::Test {
23 public:
24 AthenaTestBase();
25 virtual ~AthenaTestBase();
27 // testing::Test:
28 virtual void SetUp() OVERRIDE;
29 virtual void TearDown() OVERRIDE;
31 protected:
32 void RunAllPendingInMessageLoop();
34 scoped_ptr<aura::Window> CreateTestWindow(aura::WindowDelegate* delegate,
35 const gfx::Rect& bounds);
37 aura::Window* root_window() { return helper_->GetRootWindow(); }
38 aura::WindowTreeHost* host() { return helper_->GetHost(); }
40 private:
41 bool setup_called_;
42 bool teardown_called_;
44 base::MessageLoopForUI message_loop_;
45 scoped_ptr<AthenaTestHelper> helper_;
47 DISALLOW_COPY_AND_ASSIGN(AthenaTestBase);
50 } // namespace test
51 } // namespace athena
53 #endif // ATHENA_TEST_ATHENA_TEST_BASE_H_