Use telnetlib3 readline correctly
This commit is contained in:
parent
a81888d0b8
commit
3ebff56017
2 changed files with 5 additions and 6 deletions
|
|
@ -4,6 +4,7 @@ import asyncio
|
|||
from typing import cast
|
||||
|
||||
import telnetlib3
|
||||
from telnetlib3.server_shell import readline2
|
||||
|
||||
PORT = 6789
|
||||
|
||||
|
|
@ -23,9 +24,7 @@ async def shell(
|
|||
_writer.write("mud> ")
|
||||
await _writer.drain()
|
||||
|
||||
# readline_async reads char-by-char, handles echo via writer.echo(),
|
||||
# and supports backspace editing
|
||||
inp = await telnetlib3.readline_async(reader, writer)
|
||||
inp = await readline2(reader, writer)
|
||||
if inp is None:
|
||||
break
|
||||
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ async def test_shell_greets_and_echoes():
|
|||
writer.drain = AsyncMock()
|
||||
writer.close = MagicMock()
|
||||
|
||||
readline = "mudlib.server.telnetlib3.readline_async"
|
||||
readline = "mudlib.server.readline2"
|
||||
with patch(readline, new_callable=AsyncMock) as mock_readline:
|
||||
mock_readline.side_effect = ["hello", "quit"]
|
||||
await server.shell(reader, writer)
|
||||
|
|
@ -51,7 +51,7 @@ async def test_shell_handles_eof():
|
|||
writer.drain = AsyncMock()
|
||||
writer.close = MagicMock()
|
||||
|
||||
readline = "mudlib.server.telnetlib3.readline_async"
|
||||
readline = "mudlib.server.readline2"
|
||||
with patch(readline, new_callable=AsyncMock) as mock_readline:
|
||||
mock_readline.return_value = None
|
||||
await server.shell(reader, writer)
|
||||
|
|
@ -67,7 +67,7 @@ async def test_shell_handles_quit():
|
|||
writer.drain = AsyncMock()
|
||||
writer.close = MagicMock()
|
||||
|
||||
readline = "mudlib.server.telnetlib3.readline_async"
|
||||
readline = "mudlib.server.readline2"
|
||||
with patch(readline, new_callable=AsyncMock) as mock_readline:
|
||||
mock_readline.return_value = "quit"
|
||||
await server.shell(reader, writer)
|
||||
|
|
|
|||
Loading…
Reference in a new issue