Chromium Code Reviews| Index: ash/test/ash_test_environment.h |
| diff --git a/ash/test/ash_test_environment.h b/ash/test/ash_test_environment.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..b64e28b7c548da38d11aa4070e761c1e2671be1f |
| --- /dev/null |
| +++ b/ash/test/ash_test_environment.h |
| @@ -0,0 +1,52 @@ |
| +// Copyright 2016 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef ASH_TEST_ASH_TEST_ENVIRONMENT_H_ |
| +#define ASH_TEST_ASH_TEST_ENVIRONMENT_H_ |
| + |
| +#include <memory> |
| + |
| +namespace base { |
| +class SequencedWorkerPool; |
| +} |
| + |
| +namespace views { |
| +class ViewsDelegate; |
| +} |
| + |
| +namespace ash { |
| +namespace test { |
| + |
| +// AshTestEnvironment creates objects specific to an environment. Two |
| +// environments are provided, one for content (AshTestEnvironmentContent) |
| +// and one without content (AshTestEnvironmentDefault). |
| +// |
| +// AshTestBase creates an AshTestEnvironment by way of |
| +// AshTestEnvironment::Create(). The implementation of Create() depends upon |
| +// the ash target that was linked against: //ash:test_support_with_content |
| +// includes AshTestEnvironmentContent and //ash:test_support includes |
| +// AshTestEnvironmentDefault. |
|
James Cook
2016/08/31 16:20:16
nice docs
|
| +class AshTestEnvironment { |
| + public: |
| + virtual ~AshTestEnvironment() {} |
| + |
| + // Creates the object appropriate to the current environment. |
| + static std::unique_ptr<AshTestEnvironment> Create(); |
| + |
| + // Called from AshTestHelper::SetUp()/TearDown(). |
| + virtual void SetUp() {} |
| + virtual void TearDown() {} |
| + |
| + virtual base::SequencedWorkerPool* GetBlockingPool() = 0; |
| + |
| + virtual std::unique_ptr<views::ViewsDelegate> CreateViewsDelegate() = 0; |
| + |
| + protected: |
| + AshTestEnvironment() {} |
| +}; |
| + |
| +} // namespace test |
| +} // namespace ash |
| + |
| +#endif // ASH_TEST_ASH_TEST_ENVIRONMENT_H_ |