| // Copyright 2013 The Flutter 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 FLUTTER_SHELL_PLATFORM_WINDOWS_TESTING_WINDOWS_TEST_H_ | |
| #define FLUTTER_SHELL_PLATFORM_WINDOWS_TESTING_WINDOWS_TEST_H_ | |
| #include <string> | |
| #include "flutter/fml/macros.h" | |
| #include "flutter/shell/platform/windows/testing/windows_test_context.h" | |
| #include "flutter/testing/thread_test.h" | |
| namespace flutter { | |
| namespace testing { | |
| /// A GoogleTest test fixture for Windows tests. | |
| /// | |
| /// Supports looking up the test fixture data defined in the GN `test_fixtures` | |
| /// associated with the unit test executable target. This typically includes | |
| /// the kernel bytecode `kernel_blob.bin` compiled from the Dart file specified | |
| /// in the test fixture's `dart_main` property, as well as any other data files | |
| /// used in tests, such as image files used in a screenshot golden test. | |
| /// | |
| /// This test class can be used in GoogleTest tests using the standard | |
| /// `TEST_F(WindowsTest, TestName)` macro. | |
| class WindowsTest : public ThreadTest { | |
| public: | |
| WindowsTest(); | |
| // Returns the path to test fixture data such as kernel bytecode or images | |
| // used by the C++ side of the test. | |
| std::string GetFixturesDirectory() const; | |
| // Returns the test context associated with this fixture. | |
| WindowsTestContext& GetContext(); | |
| private: | |
| WindowsTestContext context_; | |
| FML_DISALLOW_COPY_AND_ASSIGN(WindowsTest); | |
| }; | |
| } // namespace testing | |
| } // namespace flutter | |
| #endif // FLUTTER_SHELL_PLATFORM_WINDOWS_TESTING_WINDOWS_TEST_H_ |