mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2025-12-26 15:57:56 +01:00
* Fixed MouseGrabView bug. Added extensive test coverage for `Keyboard`, `Mouse`, `Timeout`, and `Popover` functionalities, including edge cases and concurrent access. Introduced parameterized and data-driven tests to reduce redundancy and improve clarity. Refactored codebase for modularity and maintainability, introducing new namespaces and reorganizing classes. Enhanced `MouseImpl`, `KeyboardImpl`, and `Runnable` implementations with improved event handling, thread safety, and support for the Terminal.Gui Cancellable Work Pattern (CWP). Removed deprecated code and legacy tests, such as `LogarithmicTimeout` and `SmoothAcceleratingTimeout`. Fixed bugs related to mouse grabbing during drag operations and unbalanced `ApplicationImpl.Begin/End` calls. Improved documentation and code readability with modern C# features. * Modified assertion logic to conditionally skip checks when the safety timeout fires, preventing false negatives. Improved comments to clarify the purpose of the safety timeout and assertion changes.
Terminal.Gui Tests
This folder contains the tests for Terminal.Gui.
./UnitTests
This folder contains the unit tests for Terminal.Gui that can not be run in parallel. This is because they
depend on Application or other class that use static state or ConfigurationManager.
We should be striving to move as many tests as possible to the ./UnitTestsParallelizable folder.
./UnitTestsParallelizable
This folder contains the unit tests for Terminal.Gui that can be run in parallel.
./IntegrationTests
This folder contains the integration tests for Terminal.Gui.
./StressTests
This folder contains the stress tests for Terminal.Gui.
./PerformanceTests
This folder WILL contain the performance tests for Terminal.Gui.
See the Testing wiki for details on how to add more tests.