backend-infra-engineer: Release v0.3.9-hotfix7 snapshot

This commit is contained in:
scawful
2025-11-23 13:37:10 -05:00
parent c8289bffda
commit 2934c82b75
202 changed files with 34914 additions and 845 deletions

View File

@@ -0,0 +1,76 @@
#ifndef YAZE_TEST_E2E_DUNGEON_OBJECT_DRAWING_TEST_H
#define YAZE_TEST_E2E_DUNGEON_OBJECT_DRAWING_TEST_H
#include "imgui_test_engine/imgui_te_context.h"
/**
* @file dungeon_object_drawing_test.h
* @brief E2E tests for dungeon object drawing and manipulation
*
* Tests the object drawing system in the dungeon editor:
* - Basic object placement
* - Multi-layer object placement (BG1, BG2, BG3)
* - Object deletion
* - Object repositioning via drag
*
* Requires:
* - ROM file for testing (zelda3.sfc)
* - GUI test mode (--ui flag)
*/
namespace yaze {
namespace test {
/**
* @brief Test basic object placement in a dungeon room
*
* Steps:
* 1. Load ROM and open dungeon editor
* 2. Open a room card
* 3. Open object editor panel
* 4. Select an object from the object selector
* 5. Click on canvas to place the object
* 6. Verify the object appears in the room's object list
*/
void E2ETest_DungeonObjectDrawing_BasicPlacement(ImGuiTestContext* ctx);
/**
* @brief Test placing objects on multiple background layers
*
* Steps:
* 1. Load ROM and open dungeon editor
* 2. Open a room card
* 3. Place objects on BG1, BG2, and BG3 layers
* 4. Toggle layer visibility
* 5. Verify objects appear/disappear based on layer visibility
*/
void E2ETest_DungeonObjectDrawing_MultiLayerObjects(ImGuiTestContext* ctx);
/**
* @brief Test deleting objects from a dungeon room
*
* Steps:
* 1. Load ROM and open dungeon editor
* 2. Open a room with existing objects
* 3. Select an object on the canvas
* 4. Delete the object using the Delete key
* 5. Verify the object is removed from the room's object list
*/
void E2ETest_DungeonObjectDrawing_ObjectDeletion(ImGuiTestContext* ctx);
/**
* @brief Test repositioning objects via drag operation
*
* Steps:
* 1. Load ROM and open dungeon editor
* 2. Open a room with existing objects
* 3. Click and drag an object to a new position
* 4. Release the mouse button
* 5. Verify the object's position has changed
*/
void E2ETest_DungeonObjectDrawing_ObjectRepositioning(ImGuiTestContext* ctx);
} // namespace test
} // namespace yaze
#endif // YAZE_TEST_E2E_DUNGEON_OBJECT_DRAWING_TEST_H