[email protected] | 43bf6a5 | 2013-09-17 16:54:24 | [diff] [blame^] | 1 | // Copyright (c) 2013 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 TOOLS_GN_TEST_WITH_SCOPE_H_ |
| 6 | #define TOOLS_GN_TEST_WITH_SCOPE_H_ |
| 7 | |
| 8 | #include "base/basictypes.h" |
| 9 | #include "tools/gn/build_settings.h" |
| 10 | #include "tools/gn/scope.h" |
| 11 | #include "tools/gn/settings.h" |
| 12 | #include "tools/gn/toolchain.h" |
| 13 | |
| 14 | // A helper class for setting up a Scope that a test can use. It makes a |
| 15 | // toolchain and sets up all the build state. |
| 16 | class TestWithScope { |
| 17 | public: |
| 18 | TestWithScope(); |
| 19 | ~TestWithScope(); |
| 20 | |
| 21 | BuildSettings* build_settings() { return &build_settings_; } |
| 22 | Settings* settings() { return &settings_; } |
| 23 | Scope* scope() { return &scope_; } |
| 24 | |
| 25 | private: |
| 26 | BuildSettings build_settings_; |
| 27 | Toolchain toolchain_; |
| 28 | Settings settings_; |
| 29 | Scope scope_; |
| 30 | |
| 31 | DISALLOW_COPY_AND_ASSIGN(TestWithScope); |
| 32 | }; |
| 33 | |
| 34 | #endif // TOOLS_GN_TEST_WITH_SCOPE_H_ |