mirror of
https://github.com/lowobservable/oec.git
synced 2026-01-11 23:53:04 +00:00
Reset insert state on AID
This commit is contained in:
parent
e33f46e15a
commit
2c1dcedf9c
@ -110,6 +110,8 @@ class TN3270Session(Session):
|
||||
|
||||
try:
|
||||
if aid is not None:
|
||||
self._reset_insert()
|
||||
|
||||
self.emulator.aid(aid)
|
||||
|
||||
self.waiting_on_host = True
|
||||
@ -162,6 +164,14 @@ class TN3270Session(Session):
|
||||
self._apply()
|
||||
self._flush()
|
||||
|
||||
def _reset_insert(self):
|
||||
if not self.keyboard_insert:
|
||||
return
|
||||
|
||||
self.keyboard_insert = False
|
||||
|
||||
self.terminal.display.status_line.write_keyboard_insert(False)
|
||||
|
||||
def _handle_insert_key(self):
|
||||
self.keyboard_insert = not self.keyboard_insert
|
||||
|
||||
|
||||
@ -217,6 +217,17 @@ class SessionHandleKeyTestCase(unittest.TestCase):
|
||||
|
||||
self.session.emulator.input.assert_called_with(0x81, True)
|
||||
|
||||
def test_insert_reset_after_aid(self):
|
||||
# Act
|
||||
self.session.handle_key(Key.INSERT, KeyboardModifiers.NONE, None)
|
||||
|
||||
self.session.handle_key(Key.LOWER_A, KeyboardModifiers.NONE, None)
|
||||
|
||||
self.session.handle_key(Key.ENTER, KeyboardModifiers.NONE, None)
|
||||
|
||||
# Assert
|
||||
self.assertFalse(self.session.keyboard_insert)
|
||||
|
||||
def test_operator_error(self):
|
||||
# Arrange
|
||||
self.session.emulator.input = Mock(side_effect=ProtectedCellOperatorError)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user