- Introduced EditorIntegrationTest class to facilitate integration testing for editors, providing a structured environment for testing editor functionalities.
- Implemented methods for initializing the test environment, running tests, and handling ROM operations.
- Added helper methods for common editor actions such as load, save, cut, copy, paste, undo, redo, and find, ensuring thorough coverage of editor capabilities.
- Integrated ImGui test engine for UI interaction testing, enhancing the testing framework's capabilities.
- Updated Snes constructor to initialize CPU callbacks directly, improving readability and maintainability.
- Removed unnecessary CpuCallbacks parameter from Cpu constructor, streamlining the class design.
- Added new methods in Apu for retrieving cycles, status, control, and handling DMA transfers, enhancing audio processing capabilities.
- Introduced unit tests for Apu to validate initialization, sample generation, and handshake timing, ensuring robust audio functionality.
- Updated CMakeLists.txt to include new test files for CPU, PPU, SPC700, APU, and dungeon editor integration tests.
- Introduced new testing helpers in testing.h for validating StatusOr objects with specific error messages and codes.
- Added comprehensive integration tests for the DungeonEditor, covering object parsing, rendering, and room graphics.
- Created mock ROM and object data setups to facilitate testing without real ROM files.
- Implemented various test cases to ensure the reliability of object parsing and rendering logic in the dungeon editor.
- Introduced a Transaction class to handle atomic write operations to ROM, allowing for rollback on failure.
- Implemented methods for writing bytes, words, longs, vectors, and colors, with status checks and operation logging.
- Added a rollback mechanism to restore original values in case of write failures.
- Enhanced unit tests to verify transaction rollback functionality and ensure data integrity after failed operations.
- Changed SnesColor constructor to remove constexpr, improving compatibility with non-constant expressions.
- Added new tests for SnesTile functionality, including unpacking, packing, and conversion between different bit depths.
- Enhanced TileInfo and Tile32 tests to verify construction, operations, and bit manipulation for better coverage.
- Introduced tests for ParseSingleMessage to validate parsing of special characters and dictionary references.
- Added a test case for handling invalid terminators in message data.
- Enhanced existing tests for better coverage of message parsing scenarios.
- Replaced instances of Renderer::GetInstance() with Renderer::Get() for consistency across the codebase.
- Enhanced gesture handling in iOS by adding mouse position events for touch gestures.
- Streamlined test initialization for ImGui to align with recent renderer access changes.