diff --git a/oec/tn3270.py b/oec/tn3270.py index 8b0ffe2..5d9c1b9 100644 --- a/oec/tn3270.py +++ b/oec/tn3270.py @@ -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: diff --git a/requirements.txt b/requirements.txt index fabbd0c..7f08cc3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -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 diff --git a/tests/test_tn3270.py b/tests/test_tn3270.py index 528b192..17e055b 100644 --- a/tests/test_tn3270.py +++ b/tests/test_tn3270.py @@ -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)