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"
21 // A base class for athena unit tests.
22 class AthenaTestBase
: public testing::Test
{
25 virtual ~AthenaTestBase();
28 virtual void SetUp() OVERRIDE
;
29 virtual void TearDown() OVERRIDE
;
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(); }
42 bool teardown_called_
;
44 base::MessageLoopForUI message_loop_
;
45 scoped_ptr
<AthenaTestHelper
> helper_
;
47 DISALLOW_COPY_AND_ASSIGN(AthenaTestBase
);
53 #endif // ATHENA_TEST_ATHENA_TEST_BASE_H_