Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
shell
platform
embedder
tests
embedder_test.cc
Go to the documentation of this file.
1
// Copyright 2013 The Flutter 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
#include "flutter/shell/platform/embedder/tests/embedder_test.h"
6
#include "flutter/shell/platform/embedder/tests/embedder_test_context_software.h"
7
8
#ifdef SHELL_ENABLE_GL
9
#include "flutter/shell/platform/embedder/tests/embedder_test_context_gl.h"
10
#endif
11
12
#ifdef SHELL_ENABLE_METAL
13
#include "flutter/shell/platform/embedder/tests/embedder_test_context_metal.h"
14
#endif
15
16
#ifdef SHELL_ENABLE_VULKAN
17
#include "flutter/shell/platform/embedder/tests/embedder_test_context_vulkan.h"
18
#endif
19
20
namespace
flutter
{
21
namespace
testing {
22
23
EmbedderTest::EmbedderTest
() =
default
;
24
25
std::string
EmbedderTest::GetFixturesDirectory
()
const
{
26
return
GetFixturesPath
();
27
}
28
29
EmbedderTestContext
&
EmbedderTest::GetEmbedderContext
(
30
EmbedderTestContextType
type
) {
31
// Setup the embedder context lazily instead of in the constructor because we
32
// don't to do all the work if the test won't end up using context.
33
if
(!embedder_contexts_[
type
]) {
34
switch
(
type
) {
35
case
EmbedderTestContextType::kSoftwareContext
:
36
embedder_contexts_[
type
] =
37
std::make_unique<EmbedderTestContextSoftware>(
38
GetFixturesDirectory
());
39
break
;
40
#ifdef SHELL_ENABLE_VULKAN
41
case
EmbedderTestContextType::kVulkanContext
:
42
embedder_contexts_[
type
] =
43
std::make_unique<EmbedderTestContextVulkan>(
GetFixturesDirectory
());
44
break
;
45
#endif
46
#ifdef SHELL_ENABLE_GL
47
case
EmbedderTestContextType::kOpenGLContext
:
48
embedder_contexts_[
type
] =
49
std::make_unique<EmbedderTestContextGL>(
GetFixturesDirectory
());
50
break
;
51
#endif
52
#ifdef SHELL_ENABLE_METAL
53
case
EmbedderTestContextType::kMetalContext
:
54
embedder_contexts_[
type
] =
55
std::make_unique<EmbedderTestContextMetal>(
GetFixturesDirectory
());
56
break
;
57
#endif
58
default
:
59
FML_DCHECK
(
false
) <<
"Invalid context type specified."
;
60
break
;
61
}
62
}
63
64
return
*embedder_contexts_[
type
];
65
}
66
67
}
// namespace testing
68
}
// namespace flutter
flutter::testing::EmbedderTestContext
Definition
embedder_test_context.h:55
flutter::testing::EmbedderTest::EmbedderTest
EmbedderTest()
flutter::testing::EmbedderTest::GetEmbedderContext
EmbedderTestContext & GetEmbedderContext(EmbedderTestContextType type)
Definition
embedder_test.cc:29
flutter::testing::EmbedderTest::GetFixturesDirectory
std::string GetFixturesDirectory() const
Definition
embedder_test.cc:25
type
uint8_t type
Definition
fl_standard_message_codec_test.cc:1115
FML_DCHECK
#define FML_DCHECK(condition)
Definition
logging.h:103
flutter::testing::GetFixturesPath
const char * GetFixturesPath()
Returns the directory containing the test fixture for the target if this target has fixtures configur...
flutter::testing::EmbedderTestContextType
EmbedderTestContextType
Definition
embedder_test_context.h:48
flutter::testing::EmbedderTestContextType::kSoftwareContext
@ kSoftwareContext
flutter::testing::EmbedderTestContextType::kMetalContext
@ kMetalContext
flutter::testing::EmbedderTestContextType::kVulkanContext
@ kVulkanContext
flutter::testing::EmbedderTestContextType::kOpenGLContext
@ kOpenGLContext
flutter
Definition
asset_manager.cc:10
Generated on Fri Apr 26 2024 06:14:27 for Flutter Engine by
1.9.8