Files
EVEngine/test/pcg_tooltip.cpp
T

7 lines
1.6 KiB
C++

#include "zeroerr/unittest.h"
#include "ui/PcgTooltip.h"
using eve::ui::PcgTooltipManager;
TEST_CASE("ui.pcgTooltip.profileUsesFirstSubstringMatch") { PcgTooltipManager m; REQUIRE(m.addTooltip("camera.fov","FOV","Field of view").ok()); REQUIRE(m.addTooltip("camera.fov.extra","Other","Later").ok()); auto found=m.enter(0,"fov",10); REQUIRE(found.ok()); CHECK(found.value()); CHECK(m.getPending()); REQUIRE(m.tick(11.9f,100,200,1000,800,false).ok()); CHECK(!m.getVisible()); REQUIRE(m.tick(12,100,200,1000,800,false).ok()); CHECK(m.getVisible()); CHECK_EQ(m.getHeader(),"FOV"); auto removed=m.removeTooltip("fov"); REQUIRE(removed.ok()); CHECK(removed.value()); CHECK_EQ(m.getCount(),1); }
TEST_CASE("ui.pcgTooltip.triggerModesPivotThemeAndDismissal") { PcgTooltipManager m; REQUIRE(m.configure(1,0,1,2,3,4).ok()); REQUIRE(m.enterText(0,"ignored","UI",0).ok()); CHECK(!m.getPending()); REQUIRE(m.enterText(1,"long content","Scene",1).ok()); REQUIRE(m.tick(2,400,700,800,800,false).ok()); CHECK(m.getVisible()); CHECK_EQ(m.getPivotX(),.5f); CHECK_EQ(m.getPivotY(),2.625f); CHECK(m.getHeaderVisible()); CHECK(m.getWrapEnabled()); CHECK_EQ(m.getBackgroundR(),1.f); CHECK_EQ(m.getForeground(),0.f); REQUIRE(m.tick(2.1f,400,100,800,800,true).ok()); CHECK(!m.getVisible()); }
TEST_CASE("ui.pcgTooltip.exitAndInvalidConfigAreSafe") { PcgTooltipManager m; REQUIRE(m.configure(2,1,0,2,2,40).ok()); REQUIRE(m.enterText(0,"text","",0).ok()); REQUIRE(m.exit(0).ok()); CHECK(!m.getPending()); CHECK(!m.getVisible()); CHECK(!m.configure(3,0,1,1,1,10).ok()); CHECK(!m.tick(-1,0,0,100,100,false).ok()); auto miss=m.removeTooltip("missing"); REQUIRE(miss.ok()); CHECK(!miss.value()); }