#include "turns/ui/tracker.hpp" #include "turns/core/settings.hpp" #include "turns/lang/messages.hpp" #include #include #include #include #include #include #include #include #include #include namespace turns::ui::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/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"); REQUIRE_FALSE(widget->get_subtitle().empty()); } SECTION("has its subtitle set according to the active language") { auto widget = builder->get_widget("title"); REQUIRE(widget->get_subtitle() == _(lang::no_active_turn_order)); } SECTION("has a non-empty title") { auto widget = builder->get_widget("title"); REQUIRE_FALSE(widget->get_title().empty()); } SECTION("has its title set according to the active language") { auto widget = builder->get_widget("title"); REQUIRE(widget->get_title() == _(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() == _(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() == _(lang::main_menu)); } instance->destroy(); delete instance; } } // namespace turns::ui::tests