def test_parse_hotkey_example(self): alt_codes = hotkey.key_to_scan_codes('alt') shift_codes = hotkey.key_to_scan_codes('shift') a_codes = hotkey.key_to_scan_codes('a') b_codes = hotkey.key_to_scan_codes('b') c_codes = hotkey.key_to_scan_codes('c') self.assertEqual(hotkey.parse_hotkey("alt+shift+a, alt+b, c"), ((alt_codes, shift_codes, a_codes), (alt_codes, b_codes), (c_codes,)))
def test_key_to_scan_code_empty(self): with self.assertRaises(ValueError): hotkey.key_to_scan_codes('none')
def test_key_to_scan_code_duplicated(self): self.assertEqual(hotkey.key_to_scan_codes('duplicated'), (20,))
def test_key_to_scan_code_error_other(self): with self.assertRaises(ValueError): hotkey.key_to_scan_codes({})
def test_key_to_scan_code_list(self): self.assertEqual(hotkey.key_to_scan_codes([10, 5, 'a']), (10, 5, 1))
def test_key_to_scan_code_underscores(self): self.assertEqual(hotkey.key_to_scan_codes('_'), (12,)) self.assertEqual(hotkey.key_to_scan_codes('right_shift'), (6,))
def test_key_to_scan_code_error_none(self): with self.assertRaises(ValueError): hotkey.key_to_scan_codes(None)
def test_key_to_scan_code_from_sided_modifier(self): self.assertEqual(hotkey.key_to_scan_codes('left shift'), (5,)) self.assertEqual(hotkey.key_to_scan_codes('right shift'), (6,))
def test_key_to_scan_code_from_normalized(self): self.assertEqual(hotkey.key_to_scan_codes('shift'), (5, 6)) self.assertEqual(hotkey.key_to_scan_codes('SHIFT'), (5, 6)) self.assertEqual(hotkey.key_to_scan_codes('ctrl'), hotkey.key_to_scan_codes('CONTROL'))
def test_key_to_scan_code_from_letter(self): self.assertEqual(hotkey.key_to_scan_codes('a'), (1,)) self.assertEqual(hotkey.key_to_scan_codes('A'), (1, -1))
def test_key_to_scan_code_from_scan_code(self): for i in range(10): self.assertEqual(hotkey.key_to_scan_codes(i), (i,))
def test_key_to_scan_codes_brute(self): for name, entries in dummy_keys.items(): if name in ['none', 'duplicated']: continue expected = tuple(scan_code for scan_code, modifiers in entries) self.assertEqual(hotkey.key_to_scan_codes(name), expected)