| // 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. |
| |
| #import "flutter/shell/platform/darwin/macos/framework/Headers/FlutterEngine.h" |
| |
| #import <OCMock/OCMock.h> |
| #include "flutter/testing/test_dart_native_resolver.h" |
| #include "gtest/gtest.h" |
| |
| namespace flutter::testing { |
| |
| class FlutterEngineTest : public ::testing::Test { |
| public: |
| FlutterEngineTest(); |
| |
| FlutterEngine* GetFlutterEngine() { return engine_; }; |
| |
| void SetUp() override; |
| void TearDown() override; |
| |
| void AddNativeCallback(const char* name, Dart_NativeFunction function); |
| |
| static void IsolateCreateCallback(void* user_data); |
| |
| void ShutDownEngine(); |
| |
| private: |
| inline static std::shared_ptr<TestDartNativeResolver> native_resolver_; |
| |
| FlutterDartProject* project_; |
| FlutterEngine* engine_; |
| |
| FML_DISALLOW_COPY_AND_ASSIGN(FlutterEngineTest); |
| }; |
| |
| // Returns a mock FlutterEngine that is able to work in environments |
| // without a real pasteboard. |
| id CreateMockFlutterEngine(NSString* pasteboardString); |
| |
| } // namespace flutter::testing |