diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2024-07-16 16:20:47 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2024-07-16 16:20:47 +0200 |
| commit | 1a83168d5c7269bd91043d79169898ca6893d88a (patch) | |
| tree | bc85864b15f61ad1c77fae40beb5d7bc5762a657 /app/tests/windows/tracker.cpp | |
| parent | 92fc3900c9d3084dd4d0d2386ab4d823e356da20 (diff) | |
| download | turns-1a83168d5c7269bd91043d79169898ca6893d88a.tar.xz turns-1a83168d5c7269bd91043d79169898ca6893d88a.zip | |
app: rename main window to tracker
Diffstat (limited to 'app/tests/windows/tracker.cpp')
| -rw-r--r-- | app/tests/windows/tracker.cpp | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/app/tests/windows/tracker.cpp b/app/tests/windows/tracker.cpp new file mode 100644 index 0000000..c522bd4 --- /dev/null +++ b/app/tests/windows/tracker.cpp @@ -0,0 +1,76 @@ +#include "turns/app/windows/tracker.hpp" + +#include "turns/lang/messages.hpp" + +#include <catch2/catch_test_macros.hpp> +#include <catch2/generators/catch_generators.hpp> + +#include <string> + +#include <adwaita.h> +#include <glibmm/i18n.h> +#include <glibmm/ustring.h> +#include <gtkmm/builder.h> +#include <gtkmm/button.h> +#include <gtkmm/listbox.h> +#include <gtkmm/menubutton.h> +#include <gtkmm/widget.h> + +namespace turns::app::windows::tests +{ + + TEST_CASE("A freshly constructed tracker window", "[windows]") + { + auto locale = GENERATE("en_US.UTF-8", "de_CH.UTF-8"); + setlocale(LC_ALL, locale); + + auto builder = Gtk::Builder::create_from_resource("/ch/arknet/Turns/windows/tracker.ui"); + auto instance = Gtk::Builder::get_widget_derived<tracker>(builder, "tracker"); + + SECTION("was successfully constructed") + { + REQUIRE(instance); + } + + SECTION("has a non-empty subtitle") + { + auto widget = builder->get_widget<Gtk::Widget>("title"); + auto adw = ADW_WINDOW_TITLE(widget->gobj()); + REQUIRE(adw_window_title_get_subtitle(adw)); + } + + SECTION("has its subtitle set according to the active language") + { + auto widget = builder->get_widget<Gtk::Widget>("title"); + auto adw = ADW_WINDOW_TITLE(widget->gobj()); + REQUIRE(adw_window_title_get_subtitle(adw) == Glib::ustring{_(lang::no_active_turn_order)}); + } + + SECTION("has a non-empty title") + { + auto widget = builder->get_widget<Gtk::Widget>("title"); + auto adw = ADW_WINDOW_TITLE(widget->gobj()); + REQUIRE(adw_window_title_get_title(adw)); + } + + SECTION("has its title set according to the active language") + { + auto widget = builder->get_widget<Gtk::Widget>("title"); + auto adw = ADW_WINDOW_TITLE(widget->gobj()); + REQUIRE(adw_window_title_get_title(adw) == Glib::ustring{_(lang::turns)}); + } + + SECTION("has its add_participant button's tooltip set according to the active language") + { + auto widget = builder->get_widget<Gtk::Button>("add_participant"); + REQUIRE(widget->get_tooltip_text() == Glib::ustring{_(lang::add_participant)}); + } + + SECTION("as its open_main_menu button's tooltip set according to the active language") + { + auto widget = builder->get_widget<Gtk::MenuButton>("open_main_menu"); + REQUIRE(widget->get_tooltip_text() == Glib::ustring{_(lang::main_menu)}); + } + } + +} // namespace turns::app::windows::tests
\ No newline at end of file |
