summaryrefslogtreecommitdiff
path: root/gui/tests/gtk-test.cpp
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@gmail.com>2025-05-29 12:31:54 +0200
committerFelix Morgner <felix.morgner@gmail.com>2025-05-29 12:31:54 +0200
commit4e555fdbda6b9f5ea6c3dc29e16b992a0fe6e556 (patch)
tree4cc00cfab080091d4336d7a70b389b451bb73168 /gui/tests/gtk-test.cpp
parent0a41b826c16a5a0a079c308118ffcf7926df1f45 (diff)
downloadturns-4e555fdbda6b9f5ea6c3dc29e16b992a0fe6e556.tar.xz
turns-4e555fdbda6b9f5ea6c3dc29e16b992a0fe6e556.zip
gui: reintroduce basic testing skeleton
Diffstat (limited to 'gui/tests/gtk-test.cpp')
-rw-r--r--gui/tests/gtk-test.cpp46
1 files changed, 46 insertions, 0 deletions
diff --git a/gui/tests/gtk-test.cpp b/gui/tests/gtk-test.cpp
new file mode 100644
index 0000000..4eea74a
--- /dev/null
+++ b/gui/tests/gtk-test.cpp
@@ -0,0 +1,46 @@
+/*
+ * SPDX-FileCopyrightText: 2025 Felix Morgner <felix.morgner@gmail.com>
+ * SPDX-License-Identifier: LGPL-2.1-only
+ */
+
+#include "turnsmm/init.hpp"
+
+#include <catch2/reporters/catch_reporter_event_listener.hpp>
+#include <catch2/reporters/catch_reporter_registrars.hpp>
+
+#include <glibmm/i18n.h>
+#include <glibmm/refptr.h>
+#include <gtkmm/init.h>
+
+#include <adwaitamm/application.hpp>
+#include <adwaitamm/wrap_init.hpp>
+
+#include <libintl.h>
+
+#include <clocale>
+
+namespace turns::ui::tests
+{
+
+ struct gtk_test : Catch::EventListenerBase
+ {
+ using Catch::EventListenerBase::EventListenerBase;
+
+ auto testRunStarting(Catch::TestRunInfo const &) -> void override
+ {
+ setlocale(LC_ALL, "");
+ bindtextdomain("turns", TESTLOCALEDIR);
+ bind_textdomain_codeset("turns", "UTF-8");
+ textdomain("turns");
+
+ m_app = Adwaita::Application::create("ch.arknet.turns.tests.ui");
+ Turns::init();
+ }
+
+ private:
+ Glib::RefPtr<Adwaita::Application> m_app{};
+ };
+
+ CATCH_REGISTER_LISTENER(gtk_test);
+
+} // namespace turns::ui::tests \ No newline at end of file