30 lines
959 B
C++
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));
|
|
}
|