More fixes to pty reading.

This commit is contained in:
Storm Dragon
2026-05-08 19:58:42 -04:00
parent 3c61b6629a
commit 90efad362b
9 changed files with 173 additions and 16 deletions
+41
View File
@@ -0,0 +1,41 @@
import importlib.util
from pathlib import Path
from unittest.mock import Mock
import pytest
def _load_progress_module():
module_path = (
Path(__file__).resolve().parents[2]
/ "src"
/ "fenrirscreenreader"
/ "commands"
/ "onScreenUpdate"
/ "65000-progress_detector.py"
)
spec = importlib.util.spec_from_file_location(
"fenrir_progress_detector", module_path
)
module = importlib.util.module_from_spec(spec)
spec.loader.exec_module(module)
return module
@pytest.mark.unit
def test_progress_detector_skips_typing_delta():
progress_module = _load_progress_module()
command = progress_module.command()
command.env = {
"commandBuffer": {"progress_monitoring": True},
"runtime": {"DebugManager": Mock(write_debug_out=Mock())},
"screen": {"new_delta": "x", "new_delta_is_typing": True},
}
command.is_current_line_prompt = Mock(return_value=False)
command.is_real_progress_update = Mock(return_value=True)
command.detect_progress = Mock()
command.run()
command.is_real_progress_update.assert_not_called()
command.detect_progress.assert_not_called()