embedder_unittests.cc 1.4 KB
Newer Older
M
Michael Goderbauer 已提交
1
// Copyright 2013 The Flutter Authors. All rights reserved.
2 3 4
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

5
#include <string>
6
#include "embedder.h"
7
#include "flutter/testing/testing.h"
8 9 10 11 12

TEST(EmbedderTest, MustNotRunWithInvalidArgs) {
  FlutterEngine engine = nullptr;
  FlutterRendererConfig config = {};
  FlutterProjectArgs args = {};
13 14 15
  FlutterEngineResult result = FlutterEngineRun(FLUTTER_ENGINE_VERSION + 1,
                                                &config, &args, NULL, &engine);
  ASSERT_NE(result, FlutterEngineResult::kSuccess);
16 17 18
}

TEST(EmbedderTest, CanLaunchAndShutdownWithValidProjectArgs) {
19 20 21 22 23
  FlutterSoftwareRendererConfig renderer;
  renderer.struct_size = sizeof(FlutterSoftwareRendererConfig);
  renderer.surface_present_callback = [](void*, const void*, size_t, size_t) {
    return false;
  };
24

25
  FlutterRendererConfig config = {};
26 27
  config.type = FlutterRendererType::kSoftware;
  config.software = renderer;
28 29 30

  FlutterProjectArgs args = {};
  args.struct_size = sizeof(FlutterProjectArgs);
31
  args.assets_path = testing::GetFixturesPath();
32

33
  FlutterEngine engine = nullptr;
34 35 36
  FlutterEngineResult result = FlutterEngineRun(FLUTTER_ENGINE_VERSION, &config,
                                                &args, nullptr, &engine);
  ASSERT_EQ(result, FlutterEngineResult::kSuccess);
37 38

  result = FlutterEngineShutdown(engine);
39
  ASSERT_EQ(result, FlutterEngineResult::kSuccess);
40
}