[glib: 3/4] Add tests for GMemorySettingsBackend and GNullSettingsBackend
- From: Philip Withnall <pwithnall src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib: 3/4] Add tests for GMemorySettingsBackend and GNullSettingsBackend
- Date: Fri, 15 Jul 2022 21:25:59 +0000 (UTC)
commit 7c4e6032c6e383db94d917e9af6836d938114241
Author: Ryan Hope <ryanhope97 gmail com>
Date: Thu Jul 14 23:07:38 2022 +0100
Add tests for GMemorySettingsBackend and GNullSettingsBackend
gio/tests/memory-settings-backend.c | 57 +++++++++++++++++++++++++++++++++++++
gio/tests/meson.build | 2 ++
gio/tests/null-settings-backend.c | 54 +++++++++++++++++++++++++++++++++++
3 files changed, 113 insertions(+)
---
diff --git a/gio/tests/memory-settings-backend.c b/gio/tests/memory-settings-backend.c
new file mode 100644
index 0000000000..80e9919bfd
--- /dev/null
+++ b/gio/tests/memory-settings-backend.c
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2022 Ryan Hope
+ *
+ * SPDX-License-Identifier: LGPL-2.1-or-later
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
+ *
+ * Authors: Ryan Hope <ryanhope97 gmail com>
+ */
+
+#include <gio/gio.h>
+#include <locale.h>
+#define G_SETTINGS_ENABLE_BACKEND
+#include <gio/gsettingsbackend.h>
+
+/* Test that the "gsettings-backend" extension point has been registered.
+ * Must be run first and separetly from other GSettingsBackend,
+ * as they will register the extension point making the test useless.
+ */
+static void
+test_extension_point_registered (void)
+{
+ GSettingsBackend *backend;
+ GIOExtensionPoint *extension_point;
+
+ backend = g_memory_settings_backend_new ();
+ g_assert_true (G_IS_SETTINGS_BACKEND (backend));
+
+ extension_point = g_io_extension_point_lookup (G_SETTINGS_BACKEND_EXTENSION_POINT_NAME);
+ g_assert_nonnull (extension_point);
+
+ g_object_unref (backend);
+}
+
+int
+main (int argc, char *argv[])
+{
+ setlocale (LC_ALL, "");
+
+ g_test_init (&argc, &argv, NULL);
+
+ /* Must be run first */
+ g_test_add_func ("/memory-settings-backend/extension-point-registered", test_extension_point_registered);
+
+ return g_test_run ();
+}
diff --git a/gio/tests/meson.build b/gio/tests/meson.build
index 1cb5e30ee2..c3cc6c75ce 100644
--- a/gio/tests/meson.build
+++ b/gio/tests/meson.build
@@ -90,10 +90,12 @@ gio_tests = {
'memory-input-stream' : {},
'memory-monitor' : {},
'memory-output-stream' : {},
+ 'memory-settings-backend' : {},
'mount-operation' : {},
'network-address' : {'extra_sources': ['mock-resolver.c']},
'network-monitor' : {},
'network-monitor-race' : {},
+ 'null-settings-backend' : {},
'permission' : {},
'pollable' : {'dependencies' : [libutil_dep]},
'power-profile-monitor' : {},
diff --git a/gio/tests/null-settings-backend.c b/gio/tests/null-settings-backend.c
new file mode 100644
index 0000000000..34dee56d2c
--- /dev/null
+++ b/gio/tests/null-settings-backend.c
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2022 Ryan Hope
+ *
+ * SPDX-License-Identifier: LGPL-2.1-or-later
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
+ *
+ * Authors: Ryan Hope <ryanhope97 gmail com>
+ */
+
+#include <gio/gio.h>
+#define G_SETTINGS_ENABLE_BACKEND
+#include <gio/gsettingsbackend.h>
+
+/* Test that the "gsettings-backend" extension point has been registered.
+ * Must be run first and separetly from other GSettingsBackend,
+ * as they will register the extension point making the test useless.
+ */
+static void
+test_extension_point_registered (void)
+{
+ GSettingsBackend *backend;
+ GIOExtensionPoint *extension_point;
+
+ backend = g_null_settings_backend_new ();
+ g_assert_true (G_IS_SETTINGS_BACKEND (backend));
+ extension_point = g_io_extension_point_lookup (G_SETTINGS_BACKEND_EXTENSION_POINT_NAME);
+
+ g_assert_nonnull (extension_point);
+
+ g_object_unref (backend);
+}
+
+int
+main (int argc, char *argv[])
+{
+ g_test_init (&argc, &argv, NULL);
+
+ /* Must be run first */
+ g_test_add_func ("/null-settings-backend/extension-point-registered", test_extension_point_registered);
+
+ return g_test_run ();
+}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]