#include "turns/ui/windows/tracker.hpp" #include "turns/core/settings.hpp" #include "turns/lang/messages.hpp" #include #include #include #include #include #include #include #include #include #include #include namespace turns::ui::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("/windows/tracker.ui"); auto instance = Gtk::Builder::get_widget_derived(builder, "tracker", core::get_settings()); SECTION("was successfully constructed") { REQUIRE(instance); } SECTION("has a non-empty subtitle") { auto widget = builder->get_widget("title"); auto adw = ADW_WINDOW_TITLE(Glib::unwrap(widget)); REQUIRE(adw_window_title_get_subtitle(adw)); } SECTION("has its subtitle set according to the active language") { auto widget = builder->get_widget("title"); auto adw = ADW_WINDOW_TITLE(Glib::unwrap(widget)); 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("title"); auto adw = ADW_WINDOW_TITLE(Glib::unwrap(widget)); REQUIRE(adw_window_title_get_title(adw)); } SECTION("has its title set according to the active language") { auto widget = builder->get_widget("title"); auto adw = ADW_WINDOW_TITLE(Glib::unwrap(widget)); 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("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("open_main_menu"); REQUIRE(widget->get_tooltip_text() == Glib::ustring{_(lang::main_menu)}); } instance->destroy(); delete instance; } } // namespace turns::ui::windows::tests