mirror of
https://github.com/lowobservable/oec.git
synced 2026-05-04 23:16:10 +00:00
Reset insert state on AID
This commit is contained in:
@@ -110,6 +110,8 @@ class TN3270Session(Session):
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
if aid is not None:
|
if aid is not None:
|
||||||
|
self._reset_insert()
|
||||||
|
|
||||||
self.emulator.aid(aid)
|
self.emulator.aid(aid)
|
||||||
|
|
||||||
self.waiting_on_host = True
|
self.waiting_on_host = True
|
||||||
@@ -162,6 +164,14 @@ class TN3270Session(Session):
|
|||||||
self._apply()
|
self._apply()
|
||||||
self._flush()
|
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):
|
def _handle_insert_key(self):
|
||||||
self.keyboard_insert = not self.keyboard_insert
|
self.keyboard_insert = not self.keyboard_insert
|
||||||
|
|
||||||
|
|||||||
@@ -217,6 +217,17 @@ class SessionHandleKeyTestCase(unittest.TestCase):
|
|||||||
|
|
||||||
self.session.emulator.input.assert_called_with(0x81, True)
|
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):
|
def test_operator_error(self):
|
||||||
# Arrange
|
# Arrange
|
||||||
self.session.emulator.input = Mock(side_effect=ProtectedCellOperatorError)
|
self.session.emulator.input = Mock(side_effect=ProtectedCellOperatorError)
|
||||||
|
|||||||
Reference in New Issue
Block a user