Flutter Engine Uber Docs
Docs for the entire Flutter Engine repo.
 
Loading...
Searching...
No Matches
fl_settings_portal_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
8
9#include <glib.h>
10
12#include "gmock/gmock.h"
13#include "gtest/gtest.h"
14
16 protected:
17 void SetUp() override {
18 settings = g_variant_dict_new(nullptr);
20 }
21
23 g_clear_object(&portal);
24 g_clear_pointer(&settings, g_variant_dict_unref);
25 }
26
27 GVariantDict* settings = nullptr;
28 FlSettings* portal = nullptr;
29};
30
33
34 g_variant_dict_insert_value(settings,
35 "org.gnome.desktop.interface::clock-format",
36 g_variant_new_string("24h"));
38
39 g_variant_dict_insert_value(settings,
40 "org.gnome.desktop.interface::clock-format",
41 g_variant_new_string("12h"));
43
44 g_variant_dict_insert_value(settings,
45 "org.gnome.desktop.interface::clock-format",
46 g_variant_new_string("unknown"));
48}
49
52
53 g_variant_dict_insert_value(settings,
54 "org.freedesktop.appearance::color-scheme",
55 g_variant_new_uint32(1));
57
58 g_variant_dict_insert_value(settings,
59 "org.freedesktop.appearance::color-scheme",
60 g_variant_new_uint32(2));
62
63 g_variant_dict_insert_value(settings,
64 "org.freedesktop.appearance::color-scheme",
65 g_variant_new_uint32(123));
67
68 // color-scheme takes precedence over gtk-theme
69 g_variant_dict_insert_value(settings,
70 "org.gnome.desktop.interface::gtk-theme",
71 g_variant_new_string("Yaru-dark"));
73}
74
77
78 g_variant_dict_insert_value(settings,
79 "org.gnome.desktop.interface::gtk-theme",
80 g_variant_new_string("Yaru-dark"));
82
83 g_variant_dict_insert_value(settings,
84 "org.gnome.desktop.interface::gtk-theme",
85 g_variant_new_string("Yaru"));
87
88 g_variant_dict_insert_value(settings,
89 "org.gnome.desktop.interface::gtk-theme",
90 g_variant_new_string("Adwaita"));
92
93 g_variant_dict_insert_value(settings,
94 "org.gnome.desktop.interface::gtk-theme",
95 g_variant_new_string("Adwaita-dark"));
97
98 // color-scheme takes precedence over gtk-theme
99 g_variant_dict_insert_value(settings,
100 "org.freedesktop.appearance::color-scheme",
101 g_variant_new_uint32(2));
103}
104
105TEST_F(FlSettingsPortalTest, EnableAnimations) {
106 EXPECT_TRUE(fl_settings_get_enable_animations(portal));
107
108 g_variant_dict_insert_value(settings,
109 "org.gnome.desktop.interface::enable-animations",
110 g_variant_new_boolean(false));
111 EXPECT_FALSE(fl_settings_get_enable_animations(portal));
112}
113
115 EXPECT_FALSE(fl_settings_get_high_contrast(portal));
116
117 g_variant_dict_insert_value(settings,
118 "org.gnome.desktop.a11y.interface::high-contrast",
119 g_variant_new_boolean(true));
120 EXPECT_TRUE(fl_settings_get_high_contrast(portal));
121}
122
123TEST_F(FlSettingsPortalTest, TextScalingFactor) {
124 EXPECT_EQ(fl_settings_get_text_scaling_factor(portal), 1.0);
125
126 g_variant_dict_insert_value(
127 settings, "org.gnome.desktop.interface::text-scaling-factor",
128 g_variant_new_double(1.5));
129 EXPECT_EQ(fl_settings_get_text_scaling_factor(portal), 1.5);
130}
gboolean fl_settings_get_high_contrast(FlSettings *self)
gdouble fl_settings_get_text_scaling_factor(FlSettings *self)
gboolean fl_settings_get_enable_animations(FlSettings *self)
FlColorScheme fl_settings_get_color_scheme(FlSettings *self)
FlClockFormat fl_settings_get_clock_format(FlSettings *self)
@ FL_COLOR_SCHEME_DARK
Definition fl_settings.h:35
@ FL_COLOR_SCHEME_LIGHT
Definition fl_settings.h:34
@ FL_CLOCK_FORMAT_12H
Definition fl_settings.h:22
@ FL_CLOCK_FORMAT_24H
Definition fl_settings.h:23
FlSettingsPortal * fl_settings_portal_new_with_values(GVariantDict *values)
TEST_F(FlSettingsPortalTest, ClockFormat)