Coverage
Three-finger trackpad gestures for middle-click and middle-drag
Brought to you by:
nullpointerdd
Originally created by: NullPointerDepressiveDisorder
This pull request introduces a comprehensive test suite for the core model logic of the app, adds Bitrise CI configuration with automated code coverage reporting, and improves the Xcode project and GitHub Actions workflow setup to better support testing and CI integration. The changes are grouped into three main themes: testing infrastructure, CI/CD improvements, and project configuration updates.
Testing Infrastructure
GestureModelsTests.swift and TouchModelsTests.swift, providing extensive unit tests for gesture, touch, and user preference models. [[1]](diffhunk://#diff-9cb3831829fbc2c1a4619c0e55ad11c37048ae0b98da9abd776a10e5460c42bbR1-R108) [[2]](diffhunk://#diff-17506acc59c22e695f1b6a2c69c205e89d378bc2192af9bd809fc4cbc4c6bf66R1-R148)MiddleDragTests, into the Xcode project, including proper groupings, build phases, and configuration for unit testing. [[1]](diffhunk://#diff-f51501d0b2d788d0866c1d2810145e4db7348f98af8cc5734562aa983629b577R26-R27) [[2]](diffhunk://#diff-f51501d0b2d788d0866c1d2810145e4db7348f98af8cc5734562aa983629b577R51-R53) [[3]](diffhunk://#diff-f51501d0b2d788d0866c1d2810145e4db7348f98af8cc5734562aa983629b577R72) [[4]](diffhunk://#diff-f51501d0b2d788d0866c1d2810145e4db7348f98af8cc5734562aa983629b577R100-R113) [[5]](diffhunk://#diff-f51501d0b2d788d0866c1d2810145e4db7348f98af8cc5734562aa983629b577R182-R199) [[6]](diffhunk://#diff-f51501d0b2d788d0866c1d2810145e4db7348f98af8cc5734562aa983629b577R213-R216) [[7]](diffhunk://#diff-f51501d0b2d788d0866c1d2810145e4db7348f98af8cc5734562aa983629b577R236) [[8]](diffhunk://#diff-f51501d0b2d788d0866c1d2810145e4db7348f98af8cc5734562aa983629b577R297-R345) [[9]](diffhunk://#diff-f51501d0b2d788d0866c1d2810145e4db7348f98af8cc5734562aa983629b577R557-R604)CI/CD Improvements
bitrise.yml configuration for Bitrise CI, enabling automated build, test, code coverage generation (with lcov export), and upload to Codecov.MiddleDrag.xcscheme) to enable code coverage and register the new test target for test actions.Project Configuration and Workflow Updates
main branch, renaming steps for clarity, and switching the build configuration from Release to Debug for quicker feedback. [[1]](diffhunk://#diff-ff590be88b61ebc69886e77918295abe1a93c809af628aefb3a4da1c06927a8fL1-L14) [[2]](diffhunk://#diff-ff590be88b61ebc69886e77918295abe1a93c809af628aefb3a4da1c06927a8fL26-R22) [[3]](diffhunk://#diff-ff590be88b61ebc69886e77918295abe1a93c809af628aefb3a4da1c06927a8fL37-R33)These updates collectively enhance the project's reliability, testability, and CI/CD integration, ensuring higher code quality and easier maintenance.
Ticket changed by: NullPointerDepressiveDisorder