Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Classes | Macros | Functions
fl_gnome_settings_test.cc File Reference
#include "flutter/shell/platform/linux/fl_gnome_settings.h"
#include "flutter/shell/platform/linux/testing/fl_test.h"
#include "flutter/shell/platform/linux/testing/mock_settings.h"
#include "flutter/shell/platform/linux/testing/mock_signal_handler.h"
#include "flutter/testing/testing.h"
#include <gio/gio.h>
#include <gio/gsettingsbackend.h>
#include "gmock/gmock.h"
#include "gtest/gtest.h"

Go to the source code of this file.

Classes

class  FlGnomeSettingsTest
 

Macros

#define G_SETTINGS_ENABLE_BACKEND
 

Functions

static GSettings * create_settings (const gchar *name, const gchar *schema_id)
 
 TEST_F (FlGnomeSettingsTest, ClockFormat)
 
 TEST_F (FlGnomeSettingsTest, GtkTheme)
 
 TEST_F (FlGnomeSettingsTest, EnableAnimations)
 
 TEST_F (FlGnomeSettingsTest, HighContrast)
 
 TEST_F (FlGnomeSettingsTest, TextScalingFactor)
 
 TEST_F (FlGnomeSettingsTest, SignalHandlers)
 

Macro Definition Documentation

◆ G_SETTINGS_ENABLE_BACKEND

#define G_SETTINGS_ENABLE_BACKEND

Definition at line 12 of file fl_gnome_settings_test.cc.

Function Documentation

◆ create_settings()

static GSettings * create_settings ( const gchar *  name,
const gchar *  schema_id 
)
static

Definition at line 26 of file fl_gnome_settings_test.cc.

26 {
27 g_autofree gchar* path =
28 g_build_filename(flutter::testing::GetFixturesPath(), name, nullptr);
29 g_autoptr(GSettingsSchemaSource) source =
30 g_settings_schema_source_new_from_directory(path, nullptr, false,
31 nullptr);
32 g_autoptr(GSettingsSchema) schema =
33 g_settings_schema_source_lookup(source, schema_id, false);
34 g_autoptr(GSettingsBackend) backend = g_memory_settings_backend_new();
35 return g_settings_new_full(schema, backend, nullptr);
36}
const char * backend
SkBitmap source
Definition examples.cpp:28
const char * name
Definition fuchsia.cc:50
const char * GetFixturesPath()
Returns the directory containing the test fixture for the target if this target has fixtures configur...
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot The VM snapshot data that will be memory mapped as read only SnapshotAssetPath must be present isolate snapshot The isolate snapshot data that will be memory mapped as read only SnapshotAssetPath must be present cache dir path
Definition switches.h:57

◆ TEST_F() [1/6]

TEST_F ( FlGnomeSettingsTest  ,
ClockFormat   
)

Definition at line 38 of file fl_gnome_settings_test.cc.

38 {
39 g_autoptr(GSettings) interface_settings =
40 create_settings("ubuntu-20.04", "org.gnome.desktop.interface");
41 g_settings_set_string(interface_settings, "clock-format", "24h");
42
43 g_autoptr(FlSettings) settings = FL_SETTINGS(
44 g_object_new(fl_gnome_settings_get_type(), "interface_settings",
45 interface_settings, nullptr));
47
48 flutter::testing::MockSignalHandler settings_changed(settings, "changed");
49 EXPECT_SIGNAL(settings_changed).Times(1);
50
51 g_settings_set_string(interface_settings, "clock-format", "12h");
53}
static GSettings * create_settings(const gchar *name, const gchar *schema_id)
FlClockFormat fl_settings_get_clock_format(FlSettings *self)
@ FL_CLOCK_FORMAT_12H
Definition fl_settings.h:23
@ FL_CLOCK_FORMAT_24H
Definition fl_settings.h:24
#define EXPECT_SIGNAL(mock)

◆ TEST_F() [2/6]

TEST_F ( FlGnomeSettingsTest  ,
EnableAnimations   
)

Definition at line 72 of file fl_gnome_settings_test.cc.

72 {
73 g_autoptr(FlSettings) settings = fl_gnome_settings_new();
75}
FlSettings * fl_gnome_settings_new()
gboolean fl_settings_get_enable_animations(FlSettings *self)
#define EXPECT_TRUE(handle)
Definition unit_test.h:685

◆ TEST_F() [3/6]

TEST_F ( FlGnomeSettingsTest  ,
GtkTheme   
)

Definition at line 55 of file fl_gnome_settings_test.cc.

55 {
56 g_autoptr(GSettings) interface_settings =
57 create_settings("ubuntu-20.04", "org.gnome.desktop.interface");
58 g_settings_set_string(interface_settings, "gtk-theme", "Yaru");
59
60 g_autoptr(FlSettings) settings = FL_SETTINGS(
61 g_object_new(fl_gnome_settings_get_type(), "interface_settings",
62 interface_settings, nullptr));
64
65 flutter::testing::MockSignalHandler settings_changed(settings, "changed");
66 EXPECT_SIGNAL(settings_changed).Times(1);
67
68 g_settings_set_string(interface_settings, "gtk-theme", "Yaru-dark");
70}
FlColorScheme fl_settings_get_color_scheme(FlSettings *self)
@ FL_COLOR_SCHEME_DARK
Definition fl_settings.h:38
@ FL_COLOR_SCHEME_LIGHT
Definition fl_settings.h:37

◆ TEST_F() [4/6]

TEST_F ( FlGnomeSettingsTest  ,
HighContrast   
)

Definition at line 77 of file fl_gnome_settings_test.cc.

77 {
78 g_autoptr(FlSettings) settings = fl_gnome_settings_new();
79 EXPECT_FALSE(fl_settings_get_high_contrast(settings));
80}
gboolean fl_settings_get_high_contrast(FlSettings *self)

◆ TEST_F() [5/6]

TEST_F ( FlGnomeSettingsTest  ,
SignalHandlers   
)

Definition at line 99 of file fl_gnome_settings_test.cc.

99 {
100 g_autoptr(GSettings) interface_settings =
101 create_settings("ubuntu-20.04", "org.gnome.desktop.interface");
102
103 g_autoptr(FlSettings) settings = FL_SETTINGS(
104 g_object_new(fl_gnome_settings_get_type(), "interface_settings",
105 interface_settings, nullptr));
106 flutter::testing::MockSignalHandler settings_changed(settings, "changed");
107
108 EXPECT_SIGNAL(settings_changed).Times(3);
109
110 g_settings_set_string(interface_settings, "clock-format", "12h");
111 g_settings_set_string(interface_settings, "gtk-theme", "Yaru-dark");
112 g_settings_set_double(interface_settings, "text-scaling-factor", 1.5);
113
114 EXPECT_SIGNAL(settings_changed).Times(0);
115
116 g_clear_object(&settings);
117
118 // destroyed FlSettings object must have disconnected its signal handlers
119 g_settings_set_string(interface_settings, "clock-format", "24h");
120 g_settings_set_string(interface_settings, "gtk-theme", "Yaru");
121 g_settings_set_double(interface_settings, "text-scaling-factor", 2.0);
122}

◆ TEST_F() [6/6]

TEST_F ( FlGnomeSettingsTest  ,
TextScalingFactor   
)

Definition at line 82 of file fl_gnome_settings_test.cc.

82 {
83 g_autoptr(GSettings) interface_settings =
84 create_settings("ubuntu-20.04", "org.gnome.desktop.interface");
85 g_settings_set_double(interface_settings, "text-scaling-factor", 1.0);
86
87 g_autoptr(FlSettings) settings = FL_SETTINGS(
88 g_object_new(fl_gnome_settings_get_type(), "interface_settings",
89 interface_settings, nullptr));
90 EXPECT_EQ(fl_settings_get_text_scaling_factor(settings), 1.0);
91
92 flutter::testing::MockSignalHandler settings_changed(settings, "changed");
93 EXPECT_SIGNAL(settings_changed).Times(1);
94
95 g_settings_set_double(interface_settings, "text-scaling-factor", 1.5);
96 EXPECT_EQ(fl_settings_get_text_scaling_factor(settings), 1.5);
97}
gdouble fl_settings_get_text_scaling_factor(FlSettings *self)