From c54ca779db1703c2550854276b7c2c8736b3f4e7 Mon Sep 17 00:00:00 2001 From: scawful Date: Sun, 28 Jul 2024 12:10:42 -0400 Subject: [PATCH] add message_editor_test and register in ctx --- src/app/editor/CMakeLists.txt | 1 + src/app/editor/master_editor.h | 1 + src/app/editor/master_editor_test.cc | 2 ++ src/app/editor/message/message_editor.h | 7 +++++-- src/app/editor/message/message_editor_test.cc | 21 +++++++++++++++++++ 5 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 src/app/editor/message/message_editor_test.cc diff --git a/src/app/editor/CMakeLists.txt b/src/app/editor/CMakeLists.txt index 7851bd7f..30b76767 100644 --- a/src/app/editor/CMakeLists.txt +++ b/src/app/editor/CMakeLists.txt @@ -8,6 +8,7 @@ set( app/editor/sprite/sprite_editor.cc app/editor/music/music_editor.cc app/editor/message/message_editor.cc + app/editor/message/message_editor_test.cc app/editor/code/assembly_editor.cc app/editor/graphics/screen_editor.cc app/editor/graphics/graphics_editor.cc diff --git a/src/app/editor/master_editor.h b/src/app/editor/master_editor.h index 846b6225..0736e9e5 100644 --- a/src/app/editor/master_editor.h +++ b/src/app/editor/master_editor.h @@ -69,6 +69,7 @@ class MasterEditor : public SharedRom, active_editors_.push_back(&graphics_editor_); active_editors_.push_back(&palette_editor_); active_editors_.push_back(&sprite_editor_); + active_editors_.push_back(&message_editor_); } void SetupScreen(std::shared_ptr renderer, diff --git a/src/app/editor/master_editor_test.cc b/src/app/editor/master_editor_test.cc index ec435d70..59fef8a0 100644 --- a/src/app/editor/master_editor_test.cc +++ b/src/app/editor/master_editor_test.cc @@ -5,6 +5,8 @@ namespace app { namespace editor { void MasterEditor::RegisterTests(ImGuiTestEngine* e) { + message_editor_.RegisterTests(e); + test_engine = e; ImGuiTest* t = nullptr; diff --git a/src/app/editor/message/message_editor.h b/src/app/editor/message/message_editor.h index 836b1d9f..583622b3 100644 --- a/src/app/editor/message/message_editor.h +++ b/src/app/editor/message/message_editor.h @@ -13,6 +13,7 @@ #include #include +#include "app/core/testable.h" #include "app/editor/message/message_data.h" #include "app/editor/utils/editor.h" #include "app/gfx/bitmap.h" @@ -44,7 +45,6 @@ static int defaultColor = 6; static std::vector ParseMessageToData(string str); - struct TextElement { uint8_t ID; string Token; @@ -242,7 +242,9 @@ static const std::unordered_map CharEncoder = { static TextElement DictionaryElement = TextElement(0x80, DICTIONARYTOKEN, true, "Dictionary"); -class MessageEditor : public Editor, public SharedRom { +class MessageEditor : public Editor, + public SharedRom, + public core::GuiTestable { public: struct DictionaryEntry { uint8_t ID; @@ -295,6 +297,7 @@ class MessageEditor : public Editor, public SharedRom { return absl::UnimplementedError("Find not implemented"); } absl::Status Save(); + void RegisterTests(ImGuiTestEngine* e) override; TextElement FindMatchingCommand(uint8_t byte); TextElement FindMatchingSpecial(uint8_t value); diff --git a/src/app/editor/message/message_editor_test.cc b/src/app/editor/message/message_editor_test.cc new file mode 100644 index 00000000..a5a63e5a --- /dev/null +++ b/src/app/editor/message/message_editor_test.cc @@ -0,0 +1,21 @@ +#include "message_editor.h" + +namespace yaze { +namespace app { +namespace editor { + +void MessageEditor::RegisterTests(ImGuiTestEngine* e) { + test_engine = e; + ImGuiTest* t = nullptr; + + t = IM_REGISTER_TEST(e, "message_editor", "read_all_text_data"); + t->TestFunc = [](ImGuiTestContext* ctx) { + ctx->SetRef("##YazeMain/##TabBar/Message"); + ctx->ItemClick("TestButton"); + + }; +} + +} // namespace editor +} // namespace app +} // namespace yaze