From dd3596607d4b5d9b29d8022f681f789ccc4e5b07 Mon Sep 17 00:00:00 2001 From: scawful Date: Sat, 27 Jul 2024 09:46:38 -0400 Subject: [PATCH] move MasterEditor::RegisterTests to master_editor_test.cc --- src/app/editor/CMakeLists.txt | 1 + src/app/editor/master_editor.cc | 55 ---------------------------- src/app/editor/master_editor_test.cc | 44 ++++++++++++++++++++++ 3 files changed, 45 insertions(+), 55 deletions(-) create mode 100644 src/app/editor/master_editor_test.cc diff --git a/src/app/editor/CMakeLists.txt b/src/app/editor/CMakeLists.txt index 39dcf6a4..7851bd7f 100644 --- a/src/app/editor/CMakeLists.txt +++ b/src/app/editor/CMakeLists.txt @@ -2,6 +2,7 @@ set( YAZE_APP_EDITOR_SRC app/editor/dungeon/dungeon_editor.cc app/editor/master_editor.cc + app/editor/master_editor_test.cc app/editor/settings_editor.cc app/editor/overworld_editor.cc app/editor/sprite/sprite_editor.cc diff --git a/src/app/editor/master_editor.cc b/src/app/editor/master_editor.cc index b53d2cbb..6145c3e6 100644 --- a/src/app/editor/master_editor.cc +++ b/src/app/editor/master_editor.cc @@ -674,61 +674,6 @@ void MasterEditor::DrawViewMenu() { } } -void MasterEditor::RegisterTests(ImGuiTestEngine* e) { - test_engine = e; - ImGuiTest* t = nullptr; - - t = IM_REGISTER_TEST(e, "master_editor", "open_rom"); - t->GuiFunc = [](ImGuiTestContext* ctx) { - IM_UNUSED(ctx); - ImGui::Begin("Test Window", nullptr, ImGuiWindowFlags_NoSavedSettings); - ImGui::Text("Hello, automation world"); - ImGui::Button("Click Me"); - if (ImGui::TreeNode("Node")) { - static bool b = false; - ImGui::Checkbox("Checkbox", &b); - ImGui::TreePop(); - } - ImGui::End(); - }; - t->TestFunc = [](ImGuiTestContext* ctx) { - ctx->SetRef("Test Window"); - ctx->ItemClick("Click Me"); - ctx->ItemOpen("Node"); // Optional as ItemCheck("Node/Checkbox") can do it - ctx->ItemCheck("Node/Checkbox"); - ctx->ItemUncheck("Node/Checkbox"); - }; - - t = IM_REGISTER_TEST(e, "master_editor", "use_variables"); - struct TestVars2 { - int MyInt = 42; - }; - t->SetVarsDataType(); - t->GuiFunc = [](ImGuiTestContext* ctx) { - TestVars2& vars = ctx->GetVars(); - ImGui::Begin("Test Window", nullptr, ImGuiWindowFlags_NoSavedSettings); - ImGui::SliderInt("Slider", &vars.MyInt, 0, 1000); - ImGui::End(); - }; - t->TestFunc = [](ImGuiTestContext* ctx) { - TestVars2& vars = ctx->GetVars(); - ctx->SetRef("Test Window"); - - IM_CHECK_EQ(vars.MyInt, 42); - ctx->ItemInputValue("Slider", 123); - IM_CHECK_EQ(vars.MyInt, 123); - }; - - t = IM_REGISTER_TEST(e, "master_editor", "open_metrics"); - t->GuiFunc = [](ImGuiTestContext* ctx) { - IM_UNUSED(ctx); - ImGui::ShowMetricsWindow(); - }; - t->TestFunc = [](ImGuiTestContext* ctx) { - ctx->SetRef("Dear ImGui Metrics"); - }; -} - void MasterEditor::DrawTestMenu() { static bool show_tests_ = false; diff --git a/src/app/editor/master_editor_test.cc b/src/app/editor/master_editor_test.cc new file mode 100644 index 00000000..ec435d70 --- /dev/null +++ b/src/app/editor/master_editor_test.cc @@ -0,0 +1,44 @@ +#include "master_editor.h" + +namespace yaze { +namespace app { +namespace editor { + +void MasterEditor::RegisterTests(ImGuiTestEngine* e) { + test_engine = e; + ImGuiTest* t = nullptr; + + t = IM_REGISTER_TEST(e, "master_editor", "open_rom"); + t->GuiFunc = [](ImGuiTestContext* ctx) { + IM_UNUSED(ctx); + ImGui::Begin("Test Window", nullptr, ImGuiWindowFlags_NoSavedSettings); + ImGui::Text("Hello, automation world"); + ImGui::Button("Click Me"); + if (ImGui::TreeNode("Node")) { + static bool b = false; + ImGui::Checkbox("Checkbox", &b); + ImGui::TreePop(); + } + ImGui::End(); + }; + t->TestFunc = [](ImGuiTestContext* ctx) { + ctx->SetRef("Test Window"); + ctx->ItemClick("Click Me"); + ctx->ItemOpen("Node"); // Optional as ItemCheck("Node/Checkbox") can do it + ctx->ItemCheck("Node/Checkbox"); + ctx->ItemUncheck("Node/Checkbox"); + }; + + t = IM_REGISTER_TEST(e, "master_editor", "open_metrics"); + t->GuiFunc = [](ImGuiTestContext* ctx) { + IM_UNUSED(ctx); + ImGui::ShowMetricsWindow(); + }; + t->TestFunc = [](ImGuiTestContext* ctx) { + ctx->SetRef("Dear ImGui Metrics"); + }; +} + +} // namespace editor +} // namespace app +} // namespace yaze \ No newline at end of file