Files
remote-ui/tests/UI_tab_widget.cpp
2026-02-14 14:32:22 +01:00

73 lines
2.4 KiB
C++

#include "ui_tab_widget.hpp"
#include <QSignalSpy>
#include <gtest/gtest.h>
TEST(UI_tab_widget, to_from_json)
{
UI_tab_widget stacked_widget({"Tab 0", "Tab 1", "Tab 2"}, 0);
json j = stacked_widget.to_json(0);
UI_tab_widget stacked_widget2;
stacked_widget2.from_json(j);
EXPECT_EQ(stacked_widget.selected(), stacked_widget2.selected());
}
TEST(UI_tab_widget, set_selected)
{
UI_tab_widget stacked_widget({"Tab 0", "Tab 1", "Tab 2"}, 0);
QSignalSpy spy_ui(&stacked_widget, &UI_tab_widget::ui_changed);
EXPECT_EQ(stacked_widget.selected(), 0);
stacked_widget.set_selected(1);
EXPECT_EQ(stacked_widget.selected(), 1);
stacked_widget.set_selected(3);
EXPECT_EQ(stacked_widget.selected(), 1);
EXPECT_EQ(spy_ui.count(), 1);
}
TEST(UI_tab_widget, advance_tab)
{
UI_tab_widget stacked_widget({"Tab 0", "Tab 1", "Tab 2"}, 0);
QSignalSpy spy_ui(&stacked_widget, &UI_tab_widget::ui_changed);
EXPECT_EQ(stacked_widget.selected(), 0);
stacked_widget.advance_tab();
EXPECT_EQ(stacked_widget.selected(), 1);
stacked_widget.advance_tab();
EXPECT_EQ(stacked_widget.selected(), 2);
stacked_widget.advance_tab();
EXPECT_EQ(stacked_widget.selected(), 0);
EXPECT_EQ(spy_ui.count(), 3);
}
TEST(UI_tab_widget, set_tab_name)
{
UI_tab_widget stacked_widget({"Tab 0", "Tab 1", "Tab 2"}, 0);
QSignalSpy spy_ui(&stacked_widget, &UI_tab_widget::ui_changed);
EXPECT_EQ(stacked_widget.tab_name(1), "Tab 1");
stacked_widget.set_tab_name(1, "New Tab 1");
EXPECT_EQ(stacked_widget.tab_name(1), "New Tab 1");
stacked_widget.set_tab_name(3, "Invalid Tab");
EXPECT_EQ(stacked_widget.tab_name(3), "");
EXPECT_EQ(spy_ui.count(), 1);
}
TEST(UI_tab_widget, set_visible)
{
UI_tab_widget stacked_widget({"Tab 0", "Tab 1", "Tab 2"}, 0);
QSignalSpy spy_ui(&stacked_widget, &UI_tab_widget::ui_changed);
EXPECT_EQ(stacked_widget.visible(1), true);
stacked_widget.set_visible(1, false);
EXPECT_EQ(stacked_widget.visible(1), false);
stacked_widget.set_visible(3, true);
EXPECT_EQ(stacked_widget.visible(3), false);
EXPECT_EQ(spy_ui.count(), 1);
}
TEST(UI_tab_widget, signal)
{
UI_tab_widget stacked_widget({"Tab 0", "Tab 1", "Tab 2"}, 0);
QSignalSpy spy_ui(&stacked_widget, &UI_tab_widget::ui_changed);
QSignalSpy spy_changed(&stacked_widget, &UI_tab_widget::changed);
stacked_widget.set_selected(1);
EXPECT_EQ(spy_ui.count(), 1);
EXPECT_EQ(spy_changed.count(), 1);
}