Flutter Engine
Loading...
Searching...
No Matches
fl_display_monitor_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/linux/fl_display_monitor.h
"
6
#include "
flutter/shell/platform/embedder/test_utils/proc_table_replacement.h
"
7
#include "
flutter/shell/platform/linux/fl_engine_private.h
"
8
9
#include "gtest/gtest.h"
10
11
TEST
(FlDisplayMonitorTest, Test) {
12
g_autoptr
(FlDartProject) project =
fl_dart_project_new
();
13
g_autoptr
(FlEngine)
engine
=
fl_engine_new
(project);
14
15
g_autoptr
(GError)
error
=
nullptr
;
16
EXPECT_TRUE(
fl_engine_start
(
engine
, &
error
));
17
EXPECT_EQ(
error
,
nullptr
);
18
19
bool
called =
false
;
20
fl_engine_get_embedder_api
(
engine
)->
NotifyDisplayUpdate
=
MOCK_ENGINE_PROC
(
21
NotifyDisplayUpdate,
22
([&called](
auto
engine
,
FlutterEngineDisplaysUpdateType
update_type,
23
const
FlutterEngineDisplay
*
displays
,
size_t
displays_length) {
24
called =
true
;
25
26
EXPECT_EQ(displays_length, 1u);
27
28
return
kSuccess
;
29
}));
30
31
g_autoptr
(FlDisplayMonitor) monitor =
32
fl_display_monitor_new
(
engine
,
gdk_display_get_default
());
33
EXPECT_FALSE(called);
34
fl_display_monitor_start
(monitor);
35
EXPECT_TRUE(called);
36
}
kSuccess
@ kSuccess
Definition
embedder.h:73
FlutterEngineDisplaysUpdateType
FlutterEngineDisplaysUpdateType
Definition
embedder.h:2318
engine
FlutterEngine engine
Definition
main.cc:84
g_autoptr
g_autoptr(GMutexLocker) locker
fl_dart_project_new
G_MODULE_EXPORT FlDartProject * fl_dart_project_new()
Definition
fl_dart_project.cc:52
fl_display_monitor_start
void fl_display_monitor_start(FlDisplayMonitor *self)
Definition
fl_display_monitor.cc:103
fl_display_monitor_new
FlDisplayMonitor * fl_display_monitor_new(FlEngine *engine, GdkDisplay *display)
Definition
fl_display_monitor.cc:94
fl_display_monitor.h
TEST
TEST(FlDisplayMonitorTest, Test)
Definition
fl_display_monitor_test.cc:11
fl_engine_new
G_MODULE_EXPORT FlEngine * fl_engine_new(FlDartProject *project)
Definition
fl_engine.cc:697
fl_engine_get_embedder_api
FlutterEngineProcTable * fl_engine_get_embedder_api(FlEngine *self)
Definition
fl_engine.cc:868
fl_engine_start
gboolean fl_engine_start(FlEngine *self, GError **error)
Definition
fl_engine.cc:726
fl_engine_private.h
error
const uint8_t uint32_t uint32_t GError ** error
Definition
fl_pixel_buffer_texture_test.cc:40
gdk_display_get_default
GdkDisplay * gdk_display_get_default()
Definition
mock_gtk.cc:65
displays
std::vector< FlutterEngineDisplay > * displays
Definition
display_manager.cc:19
proc_table_replacement.h
MOCK_ENGINE_PROC
#define MOCK_ENGINE_PROC(proc, mock_impl)
Definition
proc_table_replacement.h:19
FlutterEngineDisplay
Definition
embedder.h:2289
FlutterEngineProcTable::NotifyDisplayUpdate
FlutterEngineNotifyDisplayUpdateFnPtr NotifyDisplayUpdate
Definition
embedder.h:3745
shell
platform
linux
fl_display_monitor_test.cc
Generated on Thu Nov 6 2025 16:11:28 for Flutter Engine by
1.9.8