Add tests for lower-/uppercase text
This commit is contained in:
parent
8c87040cb6
commit
2ca15d7667
@ -28,6 +28,7 @@ class Key:
|
||||
attribute = attr.ib()
|
||||
name = attr.ib(None) # default: name == attribute
|
||||
text = attr.ib('')
|
||||
uppertext = attr.ib('')
|
||||
member = attr.ib(None)
|
||||
|
||||
|
||||
@ -110,143 +111,143 @@ KEYS = [
|
||||
Key('Direction_L', 'Direction L'),
|
||||
Key('Direction_R', 'Direction R'),
|
||||
### 7 bit printable ASCII
|
||||
Key('Space'),
|
||||
Key('Any', 'Space'), # Same value
|
||||
Key('Exclam', '!'),
|
||||
Key('QuoteDbl', '"'),
|
||||
Key('NumberSign', '#'),
|
||||
Key('Dollar', '$'),
|
||||
Key('Percent', '%'),
|
||||
Key('Ampersand', '&'),
|
||||
Key('Apostrophe', "'"),
|
||||
Key('ParenLeft', '('),
|
||||
Key('ParenRight', ')'),
|
||||
Key('Asterisk', '*'),
|
||||
Key('Plus', '+'),
|
||||
Key('Comma', ','),
|
||||
Key('Minus', '-'),
|
||||
Key('Period', '.'),
|
||||
Key('Slash', '/'),
|
||||
Key('0'),
|
||||
Key('1'),
|
||||
Key('2'),
|
||||
Key('3'),
|
||||
Key('4'),
|
||||
Key('5'),
|
||||
Key('6'),
|
||||
Key('7'),
|
||||
Key('8'),
|
||||
Key('9'),
|
||||
Key('Colon', ':'),
|
||||
Key('Semicolon', ';'),
|
||||
Key('Less', '<'),
|
||||
Key('Equal', '='),
|
||||
Key('Greater', '>'),
|
||||
Key('Question', '?'),
|
||||
Key('At', '@'),
|
||||
Key('A'),
|
||||
Key('B'),
|
||||
Key('C'),
|
||||
Key('D'),
|
||||
Key('E'),
|
||||
Key('F'),
|
||||
Key('G'),
|
||||
Key('H'),
|
||||
Key('I'),
|
||||
Key('J'),
|
||||
Key('K'),
|
||||
Key('L'),
|
||||
Key('M'),
|
||||
Key('N'),
|
||||
Key('O'),
|
||||
Key('P'),
|
||||
Key('Q'),
|
||||
Key('R'),
|
||||
Key('S'),
|
||||
Key('T'),
|
||||
Key('U'),
|
||||
Key('V'),
|
||||
Key('W'),
|
||||
Key('X'),
|
||||
Key('Y'),
|
||||
Key('Z'),
|
||||
Key('BracketLeft', '['),
|
||||
Key('Backslash', '\\'),
|
||||
Key('BracketRight', ']'),
|
||||
Key('AsciiCircum', '^'),
|
||||
Key('Underscore', '_'),
|
||||
Key('QuoteLeft', '`'),
|
||||
Key('BraceLeft', '{'),
|
||||
Key('Bar', '|'),
|
||||
Key('BraceRight', '}'),
|
||||
Key('AsciiTilde', '~'),
|
||||
Key('Space', text=' ', uppertext=' '),
|
||||
Key('Any', 'Space', text=' ', uppertext=' '), # Same value
|
||||
Key('Exclam', '!', text='!', uppertext='!'),
|
||||
Key('QuoteDbl', '"', text='"', uppertext='"'),
|
||||
Key('NumberSign', '#', text='#', uppertext='#'),
|
||||
Key('Dollar', '$', text='$', uppertext='$'),
|
||||
Key('Percent', '%', text='%', uppertext='%'),
|
||||
Key('Ampersand', '&', text='&', uppertext='&'),
|
||||
Key('Apostrophe', "'", text="'", uppertext="'"),
|
||||
Key('ParenLeft', '(', text='(', uppertext='('),
|
||||
Key('ParenRight', ')', text=')', uppertext=')'),
|
||||
Key('Asterisk', '*', text='*', uppertext='*'),
|
||||
Key('Plus', '+', text='+', uppertext='+'),
|
||||
Key('Comma', ',', text=',', uppertext=','),
|
||||
Key('Minus', '-', text='-', uppertext='-'),
|
||||
Key('Period', '.', text='.', uppertext='.'),
|
||||
Key('Slash', '/', text='/', uppertext='/'),
|
||||
Key('0', text='0', uppertext='0'),
|
||||
Key('1', text='1', uppertext='1'),
|
||||
Key('2', text='2', uppertext='2'),
|
||||
Key('3', text='3', uppertext='3'),
|
||||
Key('4', text='4', uppertext='4'),
|
||||
Key('5', text='5', uppertext='5'),
|
||||
Key('6', text='6', uppertext='6'),
|
||||
Key('7', text='7', uppertext='7'),
|
||||
Key('8', text='8', uppertext='8'),
|
||||
Key('9', text='9', uppertext='9'),
|
||||
Key('Colon', ':', text=':', uppertext=':'),
|
||||
Key('Semicolon', ';', text=';', uppertext=';'),
|
||||
Key('Less', '<', text='<', uppertext='<'),
|
||||
Key('Equal', '=', text='=', uppertext='='),
|
||||
Key('Greater', '>', text='>', uppertext='>'),
|
||||
Key('Question', '?', text='?', uppertext='?'),
|
||||
Key('At', '@', text='@', uppertext='@'),
|
||||
Key('A', text='a', uppertext='A'),
|
||||
Key('B', text='b', uppertext='B'),
|
||||
Key('C', text='c', uppertext='C'),
|
||||
Key('D', text='d', uppertext='D'),
|
||||
Key('E', text='e', uppertext='E'),
|
||||
Key('F', text='f', uppertext='F'),
|
||||
Key('G', text='g', uppertext='G'),
|
||||
Key('H', text='h', uppertext='H'),
|
||||
Key('I', text='i', uppertext='I'),
|
||||
Key('J', text='j', uppertext='J'),
|
||||
Key('K', text='k', uppertext='K'),
|
||||
Key('L', text='l', uppertext='L'),
|
||||
Key('M', text='m', uppertext='M'),
|
||||
Key('N', text='n', uppertext='N'),
|
||||
Key('O', text='o', uppertext='O'),
|
||||
Key('P', text='p', uppertext='P'),
|
||||
Key('Q', text='q', uppertext='Q'),
|
||||
Key('R', text='r', uppertext='R'),
|
||||
Key('S', text='s', uppertext='S'),
|
||||
Key('T', text='t', uppertext='T'),
|
||||
Key('U', text='u', uppertext='U'),
|
||||
Key('V', text='v', uppertext='V'),
|
||||
Key('W', text='w', uppertext='W'),
|
||||
Key('X', text='x', uppertext='X'),
|
||||
Key('Y', text='y', uppertext='Y'),
|
||||
Key('Z', text='z', uppertext='Z'),
|
||||
Key('BracketLeft', '[', text='[', uppertext='['),
|
||||
Key('Backslash', '\\', text='\\', uppertext='\\'),
|
||||
Key('BracketRight', ']', text=']', uppertext=']'),
|
||||
Key('AsciiCircum', '^', text='^', uppertext='^'),
|
||||
Key('Underscore', '_', text='_', uppertext='_'),
|
||||
Key('QuoteLeft', '`', text='`', uppertext='`'),
|
||||
Key('BraceLeft', '{', text='{', uppertext='{'),
|
||||
Key('Bar', '|', text='|', uppertext='|'),
|
||||
Key('BraceRight', '}', text='}', uppertext='}'),
|
||||
Key('AsciiTilde', '~', text='~', uppertext='~'),
|
||||
|
||||
Key('nobreakspace', ' '),
|
||||
Key('exclamdown', '¡'),
|
||||
Key('cent', '¢'),
|
||||
Key('sterling', '£'),
|
||||
Key('currency', '¤'),
|
||||
Key('yen', '¥'),
|
||||
Key('brokenbar', '¦'),
|
||||
Key('section', '§'),
|
||||
Key('diaeresis', '¨'),
|
||||
Key('copyright', '©'),
|
||||
Key('ordfeminine', 'ª'),
|
||||
Key('guillemotleft', '«'),
|
||||
Key('notsign', '¬'),
|
||||
Key('hyphen', ''),
|
||||
Key('registered', '®'),
|
||||
Key('macron', '¯'),
|
||||
Key('degree', '°'),
|
||||
Key('plusminus', '±'),
|
||||
Key('twosuperior', '²'),
|
||||
Key('threesuperior', '³'),
|
||||
Key('acute', '´'),
|
||||
Key('mu', 'Μ'),
|
||||
Key('paragraph', '¶'),
|
||||
Key('periodcentered', '·'),
|
||||
Key('cedilla', '¸'),
|
||||
Key('onesuperior', '¹'),
|
||||
Key('masculine', 'º'),
|
||||
Key('guillemotright', '»'),
|
||||
Key('onequarter', '¼'),
|
||||
Key('onehalf', '½'),
|
||||
Key('threequarters', '¾'),
|
||||
Key('questiondown', '¿'),
|
||||
Key('Agrave', 'À'),
|
||||
Key('Aacute', 'Á'),
|
||||
Key('Acircumflex', 'Â'),
|
||||
Key('Atilde', 'Ã'),
|
||||
Key('Adiaeresis', 'Ä'),
|
||||
Key('Aring', 'Å'),
|
||||
Key('AE', 'Æ'),
|
||||
Key('Ccedilla', 'Ç'),
|
||||
Key('Egrave', 'È'),
|
||||
Key('Eacute', 'É'),
|
||||
Key('Ecircumflex', 'Ê'),
|
||||
Key('Ediaeresis', 'Ë'),
|
||||
Key('Igrave', 'Ì'),
|
||||
Key('Iacute', 'Í'),
|
||||
Key('Icircumflex', 'Î'),
|
||||
Key('Idiaeresis', 'Ï'),
|
||||
Key('ETH', 'Ð'),
|
||||
Key('Ntilde', 'Ñ'),
|
||||
Key('Ograve', 'Ò'),
|
||||
Key('Oacute', 'Ó'),
|
||||
Key('Ocircumflex', 'Ô'),
|
||||
Key('Otilde', 'Õ'),
|
||||
Key('Odiaeresis', 'Ö'),
|
||||
Key('multiply', '×'),
|
||||
Key('Ooblique', 'Ø'),
|
||||
Key('Ugrave', 'Ù'),
|
||||
Key('Uacute', 'Ú'),
|
||||
Key('Ucircumflex', 'Û'),
|
||||
Key('Udiaeresis', 'Ü'),
|
||||
Key('Yacute', 'Ý'),
|
||||
Key('THORN', 'Þ'),
|
||||
Key('ssharp', 'ß'),
|
||||
Key('division', '÷'),
|
||||
Key('ydiaeresis', 'Ÿ'),
|
||||
Key('nobreakspace', ' ', text=' ', uppertext=' '),
|
||||
Key('exclamdown', '¡', text='¡', uppertext='¡'),
|
||||
Key('cent', '¢', text='¢', uppertext='¢'),
|
||||
Key('sterling', '£', text='£', uppertext='£'),
|
||||
Key('currency', '¤', text='¤', uppertext='¤'),
|
||||
Key('yen', '¥', text='¥', uppertext='¥'),
|
||||
Key('brokenbar', '¦', text='¦', uppertext='¦'),
|
||||
Key('section', '§', text='§', uppertext='§'),
|
||||
Key('diaeresis', '¨', text='¨', uppertext='¨'),
|
||||
Key('copyright', '©', text='©', uppertext='©'),
|
||||
Key('ordfeminine', 'ª', text='ª', uppertext='ª'),
|
||||
Key('guillemotleft', '«', text='«', uppertext='«'),
|
||||
Key('notsign', '¬', text='¬', uppertext='¬'),
|
||||
Key('hyphen', '', text='', uppertext=''),
|
||||
Key('registered', '®', text='®', uppertext='®'),
|
||||
Key('macron', '¯', text='¯', uppertext='¯'),
|
||||
Key('degree', '°', text='°', uppertext='°'),
|
||||
Key('plusminus', '±', text='±', uppertext='±'),
|
||||
Key('twosuperior', '²', text='²', uppertext='²'),
|
||||
Key('threesuperior', '³', text='³', uppertext='³'),
|
||||
Key('acute', '´', text='´', uppertext='´'),
|
||||
Key('mu', 'Μ', text='μ', uppertext='Μ'),
|
||||
Key('paragraph', '¶', text='¶', uppertext='¶'),
|
||||
Key('periodcentered', '·', text='·', uppertext='·'),
|
||||
Key('cedilla', '¸', text='¸', uppertext='¸'),
|
||||
Key('onesuperior', '¹', text='¹', uppertext='¹'),
|
||||
Key('masculine', 'º', text='º', uppertext='º'),
|
||||
Key('guillemotright', '»', text='»', uppertext='»'),
|
||||
Key('onequarter', '¼', text='¼', uppertext='¼'),
|
||||
Key('onehalf', '½', text='½', uppertext='½'),
|
||||
Key('threequarters', '¾', text='¾', uppertext='¾'),
|
||||
Key('questiondown', '¿', text='¿', uppertext='¿'),
|
||||
Key('Agrave', 'À', text='à', uppertext='À'),
|
||||
Key('Aacute', 'Á', text='á', uppertext='Á'),
|
||||
Key('Acircumflex', 'Â', text='â', uppertext='Â'),
|
||||
Key('Atilde', 'Ã', text='ã', uppertext='Ã'),
|
||||
Key('Adiaeresis', 'Ä', text='ä', uppertext='Ä'),
|
||||
Key('Aring', 'Å', text='å', uppertext='Å'),
|
||||
Key('AE', 'Æ', text='æ', uppertext='Æ'),
|
||||
Key('Ccedilla', 'Ç', text='ç', uppertext='Ç'),
|
||||
Key('Egrave', 'È', text='è', uppertext='È'),
|
||||
Key('Eacute', 'É', text='é', uppertext='É'),
|
||||
Key('Ecircumflex', 'Ê', text='ê', uppertext='Ê'),
|
||||
Key('Ediaeresis', 'Ë', text='ë', uppertext='Ë'),
|
||||
Key('Igrave', 'Ì', text='ì', uppertext='Ì'),
|
||||
Key('Iacute', 'Í', text='í', uppertext='Í'),
|
||||
Key('Icircumflex', 'Î', text='î', uppertext='Î'),
|
||||
Key('Idiaeresis', 'Ï', text='ï', uppertext='Ï'),
|
||||
Key('ETH', 'Ð', text='ð', uppertext='Ð'),
|
||||
Key('Ntilde', 'Ñ', text='ñ', uppertext='Ñ'),
|
||||
Key('Ograve', 'Ò', text='ò', uppertext='Ò'),
|
||||
Key('Oacute', 'Ó', text='ó', uppertext='Ó'),
|
||||
Key('Ocircumflex', 'Ô', text='ô', uppertext='Ô'),
|
||||
Key('Otilde', 'Õ', text='õ', uppertext='Õ'),
|
||||
Key('Odiaeresis', 'Ö', text='ö', uppertext='Ö'),
|
||||
Key('multiply', '×', text='×', uppertext='×'),
|
||||
Key('Ooblique', 'Ø', text='ø', uppertext='Ø'),
|
||||
Key('Ugrave', 'Ù', text='ù', uppertext='Ù'),
|
||||
Key('Uacute', 'Ú', text='ú', uppertext='Ú'),
|
||||
Key('Ucircumflex', 'Û', text='û', uppertext='Û'),
|
||||
Key('Udiaeresis', 'Ü', text='ü', uppertext='Ü'),
|
||||
Key('Yacute', 'Ý', text='ý', uppertext='Ý'),
|
||||
Key('THORN', 'Þ', text='þ', uppertext='Þ'),
|
||||
Key('ssharp', 'ß', text='ß', uppertext='ß'),
|
||||
Key('division', '÷', text='÷', uppertext='÷'),
|
||||
Key('ydiaeresis', 'Ÿ', text='ÿ', uppertext='Ÿ'),
|
||||
|
||||
### International input method support (X keycode - 0xEE00, the
|
||||
### definition follows Qt/Embedded 2.3.7) Only interesting if
|
||||
|
@ -35,6 +35,14 @@ def qt_key(request):
|
||||
return key
|
||||
|
||||
|
||||
@pytest.mark.parametrize('upper', [False, True])
|
||||
def test_key_text(qt_key, upper):
|
||||
modifiers = Qt.ShiftModifier if upper else Qt.KeyboardModifiers()
|
||||
info = keyutils.KeyInfo(qt_key.member, modifiers=modifiers)
|
||||
expected = qt_key.uppertext if upper else qt_key.text
|
||||
assert info.text() == expected
|
||||
|
||||
|
||||
class TestKeyToString:
|
||||
|
||||
def test_to_string(self, qt_key):
|
||||
|
Loading…
Reference in New Issue
Block a user