Files
Terminal.Gui/Tests
Tig 3ae28bbf5a Makes timeout tests more robust to slow GH runners (#4461)
* 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.
2025-12-08 12:52:13 -07:00
..

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.