import unittest from agentos.input_source import TextInputSource class TextInputSourceTests(unittest.TestCase): def test_skips_blank_input_and_returns_trimmed_transcript(self) -> None: values = iter([" ", " 中文输入 "]) source = TextInputSource(reader=lambda _prompt: next(values)) event = source.read() self.assertIsNotNone(event) assert event is not None self.assertEqual(event.text, "中文输入") self.assertEqual(event.source, "simulated_speech") def test_eof_stops_input(self) -> None: def end_input(_prompt: str) -> str: raise EOFError self.assertIsNone(TextInputSource(reader=end_input).read()) if __name__ == "__main__": unittest.main()