def test_converts_simple_keystroke(self): modifier_bitmask, hid_keycode = convert( keystroke.Keystroke(left_meta_modifier=False, left_alt_modifier=False, left_shift_modifier=False, left_ctrl_modifier=False, right_alt_modifier=False, key='a', code='KeyA')) self.assertEqual(0, modifier_bitmask) self.assertEqual(hid.KEYCODE_A, hid_keycode)
def test_converts_right_ctrl_keystroke(self): modifier_bitmask, hid_keycode = convert( keystroke.Keystroke(left_meta_modifier=False, left_alt_modifier=False, left_shift_modifier=False, left_ctrl_modifier=True, right_alt_modifier=False, key='Control', code='ControlRight')) self.assertEqual(hid.MODIFIER_RIGHT_CTRL, modifier_bitmask) self.assertEqual(hid.KEYCODE_NONE, hid_keycode)
def test_converts_shifted_keystroke(self): modifier_bitmask, hid_keycode = convert( keystroke.Keystroke(left_meta_modifier=False, left_alt_modifier=False, left_shift_modifier=True, left_ctrl_modifier=False, right_alt_modifier=False, key='A', code='KeyA')) self.assertEqual(hid.MODIFIER_LEFT_SHIFT, modifier_bitmask) self.assertEqual(hid.KEYCODE_A, hid_keycode)
def test_converts_simple_azerty_keystroke(self): modifier_bitmask, hid_keycode = convert( keystroke.Keystroke(left_meta_modifier=False, left_alt_modifier=False, left_shift_modifier=False, left_ctrl_modifier=False, right_alt_modifier=False, key='a', key_code=65, is_right_modifier=False), 'azerty') self.assertEqual(0, modifier_bitmask) self.assertEqual(azerty.KEYCODE_A, hid_keycode)
def test_converts_right_ctrl_keystroke(self): modifier_bitmask, hid_keycode = convert( keystroke.Keystroke(left_meta_modifier=False, left_alt_modifier=False, left_shift_modifier=False, left_ctrl_modifier=True, right_alt_modifier=False, key='Control', key_code=17, is_right_modifier=True), 'qwerty') self.assertEqual(modifiers.RIGHT_CTRL, modifier_bitmask) self.assertEqual(qwerty.KEYCODE_RIGHT_CTRL, hid_keycode)
def test_converts_shifted_keystroke(self): modifier_bitmask, hid_keycode = convert( keystroke.Keystroke(left_meta_modifier=False, left_alt_modifier=False, left_shift_modifier=True, left_ctrl_modifier=False, right_alt_modifier=False, key='A', key_code=65, is_right_modifier=False), 'qwerty') self.assertEqual(modifiers.LEFT_SHIFT, modifier_bitmask) self.assertEqual(qwerty.KEYCODE_A, hid_keycode)
def test_converts_left_ctrl_with_shift_left_keystroke(self): modifier_bitmask, hid_keycode = convert( keystroke.Keystroke(left_meta_modifier=False, left_alt_modifier=False, left_shift_modifier=True, left_ctrl_modifier=True, right_alt_modifier=False, key='Control', code='ControlLeft')) self.assertEqual(hid.MODIFIER_LEFT_CTRL | hid.MODIFIER_LEFT_SHIFT, modifier_bitmask) self.assertEqual(hid.KEYCODE_LEFT_CTRL, hid_keycode)
def test_raises_exception_on_blank_code(self): with self.assertRaises(js_to_hid.UnrecognizedKeyCodeError): js_to_hid.convert( keystroke.Keystroke(left_meta_modifier=False, right_meta_modifier=False, left_alt_modifier=False, right_alt_modifier=False, left_shift_modifier=False, right_shift_modifier=False, left_ctrl_modifier=False, right_ctrl_modifier=False, key='a', code=''))
def test_converts_keystroke_with_all_modifiers_pressed(self): modifier_bitmask, hid_keycode = convert( keystroke.Keystroke(left_meta_modifier=True, left_alt_modifier=True, left_shift_modifier=True, left_ctrl_modifier=True, right_alt_modifier=True, key='A', key_code=65, is_right_modifier=False), 'qwerty') self.assertEqual( modifiers.LEFT_META | modifiers.LEFT_ALT | modifiers.LEFT_SHIFT | modifiers.LEFT_CTRL | modifiers.RIGHT_ALT, modifier_bitmask) self.assertEqual(qwerty.KEYCODE_A, hid_keycode)
def test_converts_keystroke_with_all_modifiers_pressed(self): modifier_bitmask, hid_keycode = convert( keystroke.Keystroke(left_meta_modifier=True, left_alt_modifier=True, left_shift_modifier=True, left_ctrl_modifier=True, right_alt_modifier=True, key='A', code='KeyA')) self.assertEqual( hid.MODIFIER_LEFT_META | hid.MODIFIER_LEFT_ALT | hid.MODIFIER_LEFT_SHIFT | hid.MODIFIER_LEFT_CTRL | hid.MODIFIER_RIGHT_ALT, modifier_bitmask) self.assertEqual(hid.KEYCODE_A, hid_keycode)
def test_parses_minimal_valid_keystroke_with_defaults(self): self.assertKeystrokesEqual( keystroke.Keystroke(left_meta_modifier=False, right_meta_modifier=False, left_alt_modifier=False, right_alt_modifier=False, left_shift_modifier=False, right_shift_modifier=False, left_ctrl_modifier=False, right_ctrl_modifier=False, key='', code='KeyA'), keystroke.parse_keystroke({ 'code': 'KeyA', }))
def test_parses_valid_keystroke_message_with_all_modifiers_pushed(self): self.assertKeystrokesEqual( keystroke.Keystroke(left_meta_modifier=True, left_alt_modifier=True, left_shift_modifier=True, left_ctrl_modifier=True, right_alt_modifier=True, key='A', code='KeyA'), keystroke.parse_keystroke({ 'metaKey': True, 'altKey': True, 'shiftKey': True, 'ctrlKey': True, 'altGraphKey': True, 'key': 'A', 'code': 'KeyA', }))
def test_parses_valid_keystroke_message(self): self.assertEqual( keystroke.Keystroke(id=123, meta_modifier=False, alt_modifier=False, shift_modifier=False, ctrl_modifier=False, key='A', key_code=65), keystroke.parse_keystroke({ 'id': 123, 'metaKey': False, 'altKey': False, 'shiftKey': False, 'ctrlKey': False, 'key': 'A', 'keyCode': 65, }))
def test_parses_valid_keystroke_message_with_all_modifiers_pushed(self): self.assertEqual( keystroke.Keystroke(id=456, meta_modifier=True, alt_modifier=True, shift_modifier=True, ctrl_modifier=True, key='A', key_code=65), keystroke.parse_keystroke({ 'id': 456, 'metaKey': True, 'altKey': True, 'shiftKey': True, 'ctrlKey': True, 'key': 'A', 'keyCode': 65, }))
def test_parses_left_ctrl_key(self): self.assertKeystrokesEqual( keystroke.Keystroke(left_meta_modifier=False, left_alt_modifier=False, left_shift_modifier=False, left_ctrl_modifier=True, right_alt_modifier=False, key='Control', code='ControlLeft'), keystroke.parse_keystroke({ 'metaKey': False, 'altKey': False, 'shiftKey': False, 'ctrlKey': True, 'altGraphKey': False, 'key': 'Control', 'code': 'ControlLeft', }))
def test_parses_valid_keystroke_message_with_all_modifiers_pushed(self): self.assertKeystrokesEqual( keystroke.Keystroke(left_meta_modifier=True, left_alt_modifier=True, left_shift_modifier=True, left_ctrl_modifier=True, right_alt_modifier=True, key='A', key_code=65, is_right_modifier=False), keystroke.parse_keystroke({ 'metaKey': True, 'altKey': True, 'shiftKey': True, 'ctrlKey': True, 'altGraphKey': True, 'key': 'A', 'keyCode': 65, 'location': None, }))
def test_parses_and_merges_valid_keystroke_message_with_defaults(self): self.assertKeystrokesEqual( keystroke.Keystroke(left_meta_modifier=True, right_meta_modifier=False, left_alt_modifier=True, right_alt_modifier=False, left_shift_modifier=False, right_shift_modifier=True, left_ctrl_modifier=False, right_ctrl_modifier=False, key='A', code='KeyA'), keystroke.parse_keystroke({ 'metaLeft': True, 'shiftLeft': False, 'shiftRight': True, 'altLeft': True, 'ctrlRight': False, 'key': 'A', 'code': 'KeyA', }))
def test_parses_right_ctrl_key(self): self.assertKeystrokesEqual( keystroke.Keystroke( left_meta_modifier=False, left_alt_modifier=False, left_shift_modifier=False, # For simplicity, we store right Ctrl modifier in # left_ctrl_modifier since there's no right version in # keystroke.Keystroke. left_ctrl_modifier=True, right_alt_modifier=False, key='Control', code='ControlRight'), keystroke.parse_keystroke({ 'metaKey': False, 'altKey': False, 'shiftKey': False, 'ctrlKey': True, 'altGraphKey': False, 'key': 'Control', 'code': 'ControlRight', }))