Implement erase EOF and erase input

This commit is contained in:
Andrew Kay 2022-03-02 21:18:31 -06:00
parent 8c14b100c2
commit f5ae672f24
3 changed files with 30 additions and 12 deletions

View File

@ -114,8 +114,6 @@ class TN3270Session(Session):
self.waiting_on_host = True
#elif key == Key.RESET:
elif key == Key.BACKSPACE:
self.emulator.backspace()
elif key == Key.TAB:
self.emulator.tab()
elif key == Key.BACKTAB:
@ -136,10 +134,16 @@ class TN3270Session(Session):
self.emulator.cursor_right()
elif key == Key.RIGHT_2:
self.emulator.cursor_right(rate=2)
elif key == Key.INSERT:
self._handle_insert_key()
elif key == Key.BACKSPACE:
self.emulator.backspace()
elif key == Key.DELETE:
self.emulator.delete()
elif key == Key.ERASE_EOF:
self.emulator.erase_end_of_field()
elif key == Key.ERASE_INPUT:
self.emulator.erase_input()
elif key == Key.INSERT:
self._handle_insert_key()
elif key == Key.DUP:
self.emulator.dup()
elif key == Key.FIELD_MARK:

View File

@ -3,7 +3,7 @@ ptyprocess==0.7.0
pycoax==0.11.1
pyserial==3.5
pyte==0.8.0
pytn3270==0.12.0
pytn3270==0.13.0
sliplib==0.6.2
sortedcontainers==2.4.0
wcwidth==0.2.5

View File

@ -85,13 +85,6 @@ class SessionHandleKeyTestCase(unittest.TestCase):
# Assert
self.session.emulator.aid.assert_called_with(AID.ENTER)
def test_backspace(self):
# Act
self.session.handle_key(Key.BACKSPACE, KeyboardModifiers.NONE, None)
# Assert
self.session.emulator.backspace.assert_called()
def test_tab(self):
# Act
self.session.handle_key(Key.TAB, KeyboardModifiers.NONE, None)
@ -162,6 +155,13 @@ class SessionHandleKeyTestCase(unittest.TestCase):
# Assert
self.session.emulator.cursor_right.assert_called_with(rate=2)
def test_backspace(self):
# Act
self.session.handle_key(Key.BACKSPACE, KeyboardModifiers.NONE, None)
# Assert
self.session.emulator.backspace.assert_called()
def test_delete(self):
# Act
self.session.handle_key(Key.DELETE, KeyboardModifiers.NONE, None)
@ -169,6 +169,20 @@ class SessionHandleKeyTestCase(unittest.TestCase):
# Assert
self.session.emulator.delete.assert_called()
def test_erase_eof(self):
# Act
self.session.handle_key(Key.ERASE_EOF, KeyboardModifiers.NONE, None)
# Assert
self.session.emulator.erase_end_of_field.assert_called()
def test_erase_input(self):
# Act
self.session.handle_key(Key.ERASE_INPUT, KeyboardModifiers.NONE, None)
# Assert
self.session.emulator.erase_input.assert_called()
def test_dup(self):
# Act
self.session.handle_key(Key.DUP, KeyboardModifiers.NONE, None)