Fix ghostty performance. Improve keyboard and input mode handling
This commit is contained in:
@@ -43,4 +43,44 @@ final class TerminalScrollCoordinatorTests: XCTestCase {
|
||||
XCTAssertFalse(coordinator.followsOutput)
|
||||
XCTAssertEqual(coordinator.outputRestorePosition(canScroll: true) ?? .nan, 0.42, accuracy: 0.0001)
|
||||
}
|
||||
|
||||
func testMouseCaptureCoordinatorSuppressesStaleCaptureAfterCommandFinish() {
|
||||
let coordinator = TerminalMouseCaptureCoordinator()
|
||||
|
||||
let requiresReset = coordinator.commandDidFinish(mouseCaptured: true)
|
||||
|
||||
XCTAssertFalse(coordinator.shouldForwardMouseInput(mouseCaptured: true))
|
||||
XCTAssertTrue(coordinator.shouldBypassEnhancedKeyboardInput(mouseCaptured: true))
|
||||
XCTAssertTrue(coordinator.suppressesMouseReporting)
|
||||
XCTAssertTrue(requiresReset)
|
||||
}
|
||||
|
||||
func testMouseCaptureCoordinatorDoesNotRequestResetForCleanCommandFinish() {
|
||||
let coordinator = TerminalMouseCaptureCoordinator()
|
||||
|
||||
let requiresReset = coordinator.commandDidFinish(mouseCaptured: false)
|
||||
|
||||
XCTAssertFalse(requiresReset)
|
||||
XCTAssertFalse(coordinator.shouldBypassEnhancedKeyboardInput(mouseCaptured: false))
|
||||
XCTAssertTrue(coordinator.shouldForwardMouseInput(mouseCaptured: false))
|
||||
}
|
||||
|
||||
func testMouseCaptureCoordinatorClearsSuppressionWhenCaptureDrops() {
|
||||
let coordinator = TerminalMouseCaptureCoordinator()
|
||||
coordinator.commandDidFinish(mouseCaptured: true)
|
||||
|
||||
XCTAssertFalse(coordinator.shouldBypassEnhancedKeyboardInput(mouseCaptured: false))
|
||||
XCTAssertTrue(coordinator.shouldForwardMouseInput(mouseCaptured: false))
|
||||
XCTAssertFalse(coordinator.suppressesMouseReporting)
|
||||
}
|
||||
|
||||
func testMouseCaptureCoordinatorClearsSuppressionWhenUserSubmitsCommand() {
|
||||
let coordinator = TerminalMouseCaptureCoordinator()
|
||||
coordinator.commandDidFinish(mouseCaptured: true)
|
||||
|
||||
coordinator.userDidSubmitCommand()
|
||||
|
||||
XCTAssertTrue(coordinator.shouldForwardMouseInput(mouseCaptured: true))
|
||||
XCTAssertFalse(coordinator.suppressesMouseReporting)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user