Files
EVEngine/test/dialogue_ux.cpp

30 lines
959 B
C++

#include "dialogue/DialogueUX.h"
#include "zeroerr/assert.h"
#include "zeroerr/unittest.h"
using namespace eve::dialogue;
TEST_CASE("dialogueUX.historyRichTextAndReadState") {
DialogueUX* ux = DialogueUX::create();
ux->clearHistory();
ux->setSkipMode("off");
ux->record("intro.1", "Alice", "Hello [pause=0.2][color=red]world[/color]!");
CHECK(ux->getHistoryCount() == 1);
CHECK(ux->getHistoryText(0) == "Hello world!");
CHECK(ux->getTextActionCount("[speed=20]Hi[shake]!") == 2);
CHECK(ux->isRead("intro.1"));
CHECK(ux->setSkipMode("read"));
CHECK(ux->shouldSkip("intro.1"));
CHECK(!ux->shouldSkip("intro.2"));
}
TEST_CASE("dialogueUX.autoAdvanceWaitsForVoice") {
DialogueUX* ux = DialogueUX::create();
ux->setAutoMode(true);
ux->setAutoDelay(0.5f);
ux->resetAutoTimer();
CHECK(!ux->updateAuto(1.f, true));
CHECK(!ux->updateAuto(0.25f, false));
CHECK(ux->updateAuto(0.25f, false));
}