Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: TUI Testing Support for Fossil Test #47

Open
dreamer-coding opened this issue Jan 4, 2025 · 0 comments
Open

Feature Request: TUI Testing Support for Fossil Test #47

dreamer-coding opened this issue Jan 4, 2025 · 0 comments

Comments

@dreamer-coding
Copy link
Collaborator

dreamer-coding commented Jan 4, 2025

Is your feature request related to a problem? Please describe.
Fossil Test currently lacks built-in support for testing Text User Interfaces (TUIs). This makes it challenging to validate interactive CLI applications built with TUIs, as existing tests focus on non-interactive input/output validation. I’m frustrated when I have to rely on external tools or write complex test scripts to simulate TUI interactions.

Describe the solution you’d like
I would like Fossil Test to include native support for TUI testing, allowing developers to:
• Simulate user input for key presses, mouse clicks, and other interactive elements.
• Validate screen output, such as layout changes, text rendering, and cursor position.
• Capture snapshots of TUI states for comparison during regression testing.
• Provide hooks for testing edge cases like resizing, input overflow, and rapid inputs.
• Offer a mock terminal environment for automated TUI tests without requiring a real terminal.

Describe alternatives you’ve considered
• Using third-party tools like expect or terminal emulators, but these add external dependencies and are difficult to integrate seamlessly into Fossil Test.
• Writing custom scripts for each TUI component, but this approach is time-intensive and prone to errors.

Additional context
This feature would greatly benefit developers creating interactive CLI applications, providing them with a streamlined way to ensure TUI reliability. It could also help catch issues that only manifest in interactive environments, improving overall application quality.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant