Improved tests
parent
b28b72e755
commit
fa8ec3804f
|
@ -68,13 +68,16 @@ TEST_CASE("[Button]")
|
|||
|
||||
SECTION("Events")
|
||||
{
|
||||
testClickableWidgetSignals(button);
|
||||
|
||||
button->setPosition(40, 30);
|
||||
button->setSize(150, 100);
|
||||
SECTION("ClickableWidget")
|
||||
{
|
||||
testClickableWidgetSignals(button);
|
||||
}
|
||||
|
||||
SECTION("Pressed signal")
|
||||
{
|
||||
button->setPosition(40, 30);
|
||||
button->setSize(150, 100);
|
||||
|
||||
unsigned int pressedCount = 0;
|
||||
|
||||
button->connect("Pressed", genericCallback, std::ref(pressedCount));
|
||||
|
@ -157,7 +160,7 @@ TEST_CASE("[Button]")
|
|||
REQUIRE_NOTHROW(renderer->setProperty("BorderColorDisabled", sf::Color{130, 140, 150}));
|
||||
REQUIRE_NOTHROW(renderer->setProperty("TextStyle", sf::Text::Italic));
|
||||
REQUIRE_NOTHROW(renderer->setProperty("TextStyleHover", sf::Text::Underlined));
|
||||
REQUIRE_NOTHROW(renderer->setProperty("TextStyleDown", sf::Text::Bold | sf::Text::Underlined));
|
||||
REQUIRE_NOTHROW(renderer->setProperty("TextStyleDown", tgui::TextStyle(sf::Text::Bold | sf::Text::Underlined)));
|
||||
REQUIRE_NOTHROW(renderer->setProperty("TextStyleDisabled", sf::Text::StrikeThrough));
|
||||
REQUIRE_NOTHROW(renderer->setProperty("Borders", tgui::Borders{1, 2, 3, 4}));
|
||||
}
|
||||
|
@ -186,19 +189,37 @@ TEST_CASE("[Button]")
|
|||
REQUIRE(renderer->getProperty("TextColor").getColor() == sf::Color(20, 30, 40));
|
||||
REQUIRE(renderer->getProperty("TextColorHover").getColor() == sf::Color(30, 40, 50));
|
||||
REQUIRE(renderer->getProperty("TextColorDown").getColor() == sf::Color(40, 50, 60));
|
||||
REQUIRE(renderer->getProperty("TextColorDisabled").getColor() == sf::Color(90, 100, 110));
|
||||
REQUIRE(renderer->getProperty("BackgroundColor").getColor() == sf::Color(50, 60, 70));
|
||||
REQUIRE(renderer->getProperty("BackgroundColorHover").getColor() == sf::Color(60, 70, 80));
|
||||
REQUIRE(renderer->getProperty("BackgroundColorDown").getColor() == sf::Color(70, 80, 90));
|
||||
REQUIRE(renderer->getProperty("BackgroundColorDisabled").getColor() == sf::Color(100, 110, 120));
|
||||
REQUIRE(renderer->getProperty("BorderColor").getColor() == sf::Color(80, 90, 100));
|
||||
REQUIRE(renderer->getProperty("BorderColorHover").getColor() == sf::Color(110, 120, 130));
|
||||
REQUIRE(renderer->getProperty("BorderColorDown").getColor() == sf::Color(120, 130, 140));
|
||||
REQUIRE(renderer->getProperty("BorderColorDisabled").getColor() == sf::Color(130, 140, 150));
|
||||
REQUIRE(renderer->getProperty("TextStyle").getTextStyle() == sf::Text::Italic);
|
||||
REQUIRE(renderer->getProperty("TextStyleHover").getTextStyle() == sf::Text::Underlined);
|
||||
REQUIRE(renderer->getProperty("TextStyleDown").getTextStyle() == (sf::Text::Bold | sf::Text::Underlined));
|
||||
REQUIRE(renderer->getProperty("TextStyleDisabled").getTextStyle() == sf::Text::StrikeThrough);
|
||||
REQUIRE(renderer->getProperty("Borders").getOutline() == tgui::Borders(1, 2, 3, 4));
|
||||
|
||||
REQUIRE(renderer->getTextColor() == sf::Color(20, 30, 40));
|
||||
REQUIRE(renderer->getTextColorHover() == sf::Color(30, 40, 50));
|
||||
REQUIRE(renderer->getTextColorDown() == sf::Color(40, 50, 60));
|
||||
REQUIRE(renderer->getTextColorDisabled() == sf::Color(90, 100, 110));
|
||||
REQUIRE(renderer->getBackgroundColor() == sf::Color(50, 60, 70));
|
||||
REQUIRE(renderer->getBackgroundColorHover() == sf::Color(60, 70, 80));
|
||||
REQUIRE(renderer->getBackgroundColorDown() == sf::Color(70, 80, 90));
|
||||
REQUIRE(renderer->getBackgroundColorDisabled() == sf::Color(100, 110, 120));
|
||||
REQUIRE(renderer->getBorderColor() == sf::Color(80, 90, 100));
|
||||
REQUIRE(renderer->getBorderColorHover() == sf::Color(110, 120, 130));
|
||||
REQUIRE(renderer->getBorderColorDown() == sf::Color(120, 130, 140));
|
||||
REQUIRE(renderer->getBorderColorDisabled() == sf::Color(130, 140, 150));
|
||||
REQUIRE(renderer->getTextStyle() == sf::Text::Italic);
|
||||
REQUIRE(renderer->getTextStyleHover() == sf::Text::Underlined);
|
||||
REQUIRE(renderer->getTextStyleDown() == (sf::Text::Bold | sf::Text::Underlined));
|
||||
REQUIRE(renderer->getTextStyleDisabled() == sf::Text::StrikeThrough);
|
||||
REQUIRE(renderer->getBorders() == tgui::Borders(1, 2, 3, 4));
|
||||
}
|
||||
|
||||
|
|
|
@ -287,7 +287,10 @@ TEST_CASE("[EditBox]")
|
|||
|
||||
SECTION("Events")
|
||||
{
|
||||
testClickableWidgetSignals(editBox);
|
||||
SECTION("ClickableWidget")
|
||||
{
|
||||
testClickableWidgetSignals(editBox);
|
||||
}
|
||||
|
||||
editBox->setPosition(40, 30);
|
||||
editBox->setSize(150, 100);
|
||||
|
|
|
@ -126,87 +126,19 @@ TEST_CASE("[Label]")
|
|||
|
||||
SECTION("Events")
|
||||
{
|
||||
unsigned int mousePressedCount = 0;
|
||||
unsigned int mouseReleasedCount = 0;
|
||||
unsigned int clickedCount = 0;
|
||||
unsigned int doubleClickedCount = 0;
|
||||
|
||||
label->setPosition(40, 30);
|
||||
label->setSize(150, 100);
|
||||
|
||||
label->connect("MousePressed", mouseCallback, std::ref(mousePressedCount));
|
||||
label->connect("MouseReleased", mouseCallback, std::ref(mouseReleasedCount));
|
||||
label->connect("Clicked", mouseCallback, std::ref(clickedCount));
|
||||
label->connect("DoubleClicked", genericCallback, std::ref(doubleClickedCount));
|
||||
|
||||
SECTION("mouseOnWidget")
|
||||
SECTION("ClickableWidget")
|
||||
{
|
||||
REQUIRE(!label->mouseOnWidget(10, 15));
|
||||
REQUIRE(label->mouseOnWidget(40, 30));
|
||||
REQUIRE(label->mouseOnWidget(115, 80));
|
||||
REQUIRE(label->mouseOnWidget(189, 129));
|
||||
REQUIRE(!label->mouseOnWidget(190, 130));
|
||||
|
||||
REQUIRE(mousePressedCount == 0);
|
||||
REQUIRE(mouseReleasedCount == 0);
|
||||
REQUIRE(clickedCount == 0);
|
||||
REQUIRE(doubleClickedCount == 0);
|
||||
}
|
||||
|
||||
SECTION("mouse move")
|
||||
{
|
||||
unsigned int mouseEnteredCount = 0;
|
||||
unsigned int mouseLeftCount = 0;
|
||||
|
||||
label->connect("MouseEntered", genericCallback, std::ref(mouseEnteredCount));
|
||||
label->connect("MouseLeft", genericCallback, std::ref(mouseLeftCount));
|
||||
|
||||
auto parent = std::make_shared<tgui::Panel>(300, 200);
|
||||
parent->add(label);
|
||||
|
||||
parent->mouseMoved(10, 15);
|
||||
REQUIRE(mouseEnteredCount == 0);
|
||||
REQUIRE(mouseLeftCount == 0);
|
||||
|
||||
parent->mouseMoved(40, 30);
|
||||
REQUIRE(mouseEnteredCount == 1);
|
||||
REQUIRE(mouseLeftCount == 0);
|
||||
|
||||
parent->mouseMoved(189, 129);
|
||||
REQUIRE(mouseEnteredCount == 1);
|
||||
REQUIRE(mouseLeftCount == 0);
|
||||
|
||||
parent->mouseMoved(190, 130);
|
||||
REQUIRE(mouseEnteredCount == 1);
|
||||
REQUIRE(mouseLeftCount == 1);
|
||||
}
|
||||
|
||||
SECTION("mouse click")
|
||||
{
|
||||
label->leftMouseReleased(115, 80);
|
||||
|
||||
REQUIRE(mouseReleasedCount == 1);
|
||||
REQUIRE(clickedCount == 0);
|
||||
|
||||
SECTION("mouse press")
|
||||
{
|
||||
label->leftMousePressed(115, 80);
|
||||
|
||||
REQUIRE(mousePressedCount == 1);
|
||||
REQUIRE(mouseReleasedCount == 1);
|
||||
REQUIRE(clickedCount == 0);
|
||||
}
|
||||
|
||||
label->leftMouseReleased(115, 80);
|
||||
|
||||
REQUIRE(mousePressedCount == 1);
|
||||
REQUIRE(mouseReleasedCount == 2);
|
||||
REQUIRE(clickedCount == 1);
|
||||
REQUIRE(doubleClickedCount == 0);
|
||||
testClickableWidgetSignals(label);
|
||||
}
|
||||
|
||||
SECTION("double click")
|
||||
{
|
||||
unsigned int doubleClickedCount = 0;
|
||||
label->connect("DoubleClicked", genericCallback, std::ref(doubleClickedCount));
|
||||
|
||||
label->setPosition(40, 30);
|
||||
label->setSize(150, 100);
|
||||
|
||||
label->leftMousePressed(115, 80);
|
||||
label->leftMouseReleased(115, 80);
|
||||
|
||||
|
@ -216,17 +148,12 @@ TEST_CASE("[Label]")
|
|||
|
||||
label->leftMousePressed(115, 80);
|
||||
label->leftMouseReleased(115, 80);
|
||||
|
||||
REQUIRE(mousePressedCount == 2);
|
||||
REQUIRE(mouseReleasedCount == 2);
|
||||
REQUIRE(clickedCount == 2);
|
||||
REQUIRE(doubleClickedCount == 0);
|
||||
|
||||
gui.updateTime(DOUBLE_CLICK_TIMEOUT / 2.f);
|
||||
|
||||
label->leftMousePressed(115, 80);
|
||||
label->leftMouseReleased(115, 80);
|
||||
|
||||
REQUIRE(doubleClickedCount == 1);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -123,93 +123,20 @@ TEST_CASE("[Picture]")
|
|||
|
||||
SECTION("Events")
|
||||
{
|
||||
unsigned int mousePressedCount = 0;
|
||||
unsigned int mouseReleasedCount = 0;
|
||||
unsigned int clickedCount = 0;
|
||||
unsigned int doubleClickedCount = 0;
|
||||
|
||||
picture->setTexture("resources/image.png");
|
||||
picture->setPosition(40, 30);
|
||||
picture->setSize(150, 100);
|
||||
|
||||
picture->connect("MousePressed", mouseCallback, std::ref(mousePressedCount));
|
||||
picture->connect("MouseReleased", mouseCallback, std::ref(mouseReleasedCount));
|
||||
picture->connect("Clicked", mouseCallback, std::ref(clickedCount));
|
||||
picture->connect("DoubleClicked", genericCallback, std::ref(doubleClickedCount));
|
||||
|
||||
SECTION("mouseOnWidget")
|
||||
SECTION("ClickableWidget")
|
||||
{
|
||||
picture->setTexture("resources/TransparentParts.png", true);
|
||||
|
||||
REQUIRE(!picture->mouseOnWidget(10, 15));
|
||||
REQUIRE(picture->mouseOnWidget(40, 30));
|
||||
REQUIRE(picture->mouseOnWidget(115, 80));
|
||||
REQUIRE(picture->mouseOnWidget(189, 129));
|
||||
REQUIRE(!picture->mouseOnWidget(190, 130));
|
||||
|
||||
picture->setTexture("resources/TransparentParts.png", false);
|
||||
REQUIRE(!picture->mouseOnWidget(115, 80));
|
||||
|
||||
REQUIRE(mousePressedCount == 0);
|
||||
REQUIRE(mouseReleasedCount == 0);
|
||||
REQUIRE(clickedCount == 0);
|
||||
REQUIRE(doubleClickedCount == 0);
|
||||
}
|
||||
|
||||
SECTION("mouse move")
|
||||
{
|
||||
unsigned int mouseEnteredCount = 0;
|
||||
unsigned int mouseLeftCount = 0;
|
||||
|
||||
picture->connect("MouseEntered", genericCallback, std::ref(mouseEnteredCount));
|
||||
picture->connect("MouseLeft", genericCallback, std::ref(mouseLeftCount));
|
||||
|
||||
auto parent = std::make_shared<tgui::Panel>(300, 200);
|
||||
parent->add(picture);
|
||||
|
||||
parent->mouseMoved(10, 15);
|
||||
REQUIRE(mouseEnteredCount == 0);
|
||||
REQUIRE(mouseLeftCount == 0);
|
||||
|
||||
parent->mouseMoved(40, 30);
|
||||
REQUIRE(mouseEnteredCount == 1);
|
||||
REQUIRE(mouseLeftCount == 0);
|
||||
|
||||
parent->mouseMoved(189, 129);
|
||||
REQUIRE(mouseEnteredCount == 1);
|
||||
REQUIRE(mouseLeftCount == 0);
|
||||
|
||||
parent->mouseMoved(190, 130);
|
||||
REQUIRE(mouseEnteredCount == 1);
|
||||
REQUIRE(mouseLeftCount == 1);
|
||||
}
|
||||
|
||||
SECTION("mouse click")
|
||||
{
|
||||
picture->leftMouseReleased(115, 80);
|
||||
|
||||
REQUIRE(mouseReleasedCount == 1);
|
||||
REQUIRE(clickedCount == 0);
|
||||
|
||||
SECTION("mouse press")
|
||||
{
|
||||
picture->leftMousePressed(115, 80);
|
||||
|
||||
REQUIRE(mousePressedCount == 1);
|
||||
REQUIRE(mouseReleasedCount == 1);
|
||||
REQUIRE(clickedCount == 0);
|
||||
}
|
||||
|
||||
picture->leftMouseReleased(115, 80);
|
||||
|
||||
REQUIRE(mousePressedCount == 1);
|
||||
REQUIRE(mouseReleasedCount == 2);
|
||||
REQUIRE(clickedCount == 1);
|
||||
REQUIRE(doubleClickedCount == 0);
|
||||
testClickableWidgetSignals(picture);
|
||||
}
|
||||
|
||||
SECTION("double click")
|
||||
{
|
||||
picture->setTexture("resources/image.png");
|
||||
picture->setPosition(40, 30);
|
||||
picture->setSize(150, 100);
|
||||
|
||||
unsigned int doubleClickedCount = 0;
|
||||
picture->connect("DoubleClicked", genericCallback, std::ref(doubleClickedCount));
|
||||
|
||||
picture->leftMousePressed(115, 80);
|
||||
picture->leftMouseReleased(115, 80);
|
||||
|
||||
|
@ -219,17 +146,12 @@ TEST_CASE("[Picture]")
|
|||
|
||||
picture->leftMousePressed(115, 80);
|
||||
picture->leftMouseReleased(115, 80);
|
||||
|
||||
REQUIRE(mousePressedCount == 2);
|
||||
REQUIRE(mouseReleasedCount == 2);
|
||||
REQUIRE(clickedCount == 2);
|
||||
REQUIRE(doubleClickedCount == 0);
|
||||
|
||||
gui.updateTime(DOUBLE_CLICK_TIMEOUT / 2.f);
|
||||
|
||||
picture->leftMousePressed(115, 80);
|
||||
picture->leftMouseReleased(115, 80);
|
||||
|
||||
REQUIRE(doubleClickedCount == 1);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -228,6 +228,8 @@ TEST_CASE("[RadioButton]")
|
|||
REQUIRE_NOTHROW(renderer->setProperty("CheckColor", "rgb(110, 120, 130)"));
|
||||
REQUIRE_NOTHROW(renderer->setProperty("CheckColorHover", "rgb(120, 130, 140)"));
|
||||
REQUIRE_NOTHROW(renderer->setProperty("CheckColorDisabled", "rgb(240, 230, 220)"));
|
||||
REQUIRE_NOTHROW(renderer->setProperty("TextStyle", "Italic"));
|
||||
REQUIRE_NOTHROW(renderer->setProperty("TextStyleChecked", "Bold"));
|
||||
REQUIRE_NOTHROW(renderer->setProperty("TextDistanceRatio", "0.5"));
|
||||
REQUIRE_NOTHROW(renderer->setProperty("Borders", "(1, 2, 3, 4)"));
|
||||
}
|
||||
|
@ -255,6 +257,8 @@ TEST_CASE("[RadioButton]")
|
|||
REQUIRE_NOTHROW(renderer->setProperty("CheckColor", sf::Color{110, 120, 130}));
|
||||
REQUIRE_NOTHROW(renderer->setProperty("CheckColorHover", sf::Color{120, 130, 140}));
|
||||
REQUIRE_NOTHROW(renderer->setProperty("CheckColorDisabled", sf::Color{240, 230, 220}));
|
||||
REQUIRE_NOTHROW(renderer->setProperty("TextStyle", sf::Text::Italic));
|
||||
REQUIRE_NOTHROW(renderer->setProperty("TextStyleChecked", sf::Text::Bold));
|
||||
REQUIRE_NOTHROW(renderer->setProperty("TextDistanceRatio", 0.5));
|
||||
REQUIRE_NOTHROW(renderer->setProperty("Borders", tgui::Borders{1, 2, 3, 4}));
|
||||
}
|
||||
|
@ -282,6 +286,8 @@ TEST_CASE("[RadioButton]")
|
|||
renderer->setCheckColor({110, 120, 130});
|
||||
renderer->setCheckColorHover({120, 130, 140});
|
||||
renderer->setCheckColorDisabled({240, 230, 220});
|
||||
renderer->setTextStyle(sf::Text::Italic);
|
||||
renderer->setTextStyleChecked(sf::Text::Bold);
|
||||
renderer->setTextDistanceRatio(0.5);
|
||||
renderer->setBorders({1, 2, 3, 4});
|
||||
}
|
||||
|
@ -307,6 +313,8 @@ TEST_CASE("[RadioButton]")
|
|||
REQUIRE(renderer->getProperty("CheckColor").getColor() == sf::Color(110, 120, 130));
|
||||
REQUIRE(renderer->getProperty("CheckColorHover").getColor() == sf::Color(120, 130, 140));
|
||||
REQUIRE(renderer->getProperty("CheckColorDisabled").getColor() == sf::Color(240, 230, 220));
|
||||
REQUIRE(renderer->getProperty("TextStyle").getTextStyle() == sf::Text::Italic);
|
||||
REQUIRE(renderer->getProperty("TextStyleChecked").getTextStyle() == sf::Text::Bold);
|
||||
REQUIRE(renderer->getProperty("TextDistanceRatio").getNumber() == 0.5);
|
||||
REQUIRE(renderer->getProperty("Borders").getOutline() == tgui::Borders(1, 2, 3, 4));
|
||||
|
||||
|
@ -331,6 +339,8 @@ TEST_CASE("[RadioButton]")
|
|||
REQUIRE(renderer->getCheckColor() == sf::Color(110, 120, 130));
|
||||
REQUIRE(renderer->getCheckColorHover() == sf::Color(120, 130, 140));
|
||||
REQUIRE(renderer->getCheckColorDisabled() == sf::Color(240, 230, 220));
|
||||
REQUIRE(renderer->getTextStyle() == sf::Text::Italic);
|
||||
REQUIRE(renderer->getTextStyleChecked() == sf::Text::Bold);
|
||||
REQUIRE(renderer->getTextDistanceRatio() == 0.5);
|
||||
REQUIRE(renderer->getBorders() == tgui::Borders(1, 2, 3, 4));
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue