[3.6] bpo-21519: IDLE basic custom key entry better detects duplicate… · python/cpython@93b88e9 (original) (raw)

`@@ -28,8 +28,9 @@ def setUpClass(cls):

`

28

28

`requires('gui')

`

29

29

`cls.root = Tk()

`

30

30

`cls.root.withdraw()

`

``

31

`+

keylist = [[''], ['', '']]

`

31

32

`cls.dialog = cls.Validator(

`

32

``

`-

cls.root, 'Title', '<>', [['']], _utest=True)

`

``

33

`+

cls.root, 'Title', '<>', keylist, _utest=True)

`

33

34

``

34

35

`@classmethod

`

35

36

`def tearDownClass(cls):

`

`@@ -78,10 +79,15 @@ def test_keys_shift_bad(self):

`

78

79

`self.dialog.GetModifiers.result = []

`

79

80

``

80

81

`def test_keys_dup(self):

`

81

``

`-

self.dialog.listKeysFinal.get.result = 'F12'

`

``

82

`+

for mods, final, seq in (([], 'F12', ''),

`

``

83

`+

(['Control'], 'x', ''),

`

``

84

`+

(['Control'], 'X', '')):

`

``

85

`+

with self.subTest(m=mods, f=final, s=seq):

`

``

86

`+

self.dialog.listKeysFinal.get.result = final

`

``

87

`+

self.dialog.GetModifiers.result = mods

`

``

88

`+

self.assertFalse(self.dialog.KeysOK(seq))

`

``

89

`+

self.assertIn('already in use', self.dialog.showerror.message)

`

82

90

`self.dialog.GetModifiers.result = []

`

83

``

`-

self.assertFalse(self.dialog.KeysOK(''))

`

84

``

`-

self.assertIn('already in use', self.dialog.showerror.message)

`

85

91

``

86

92

`def test_bind_ok(self):

`

87

93

`self.assertTrue(self.dialog.bind_ok(''))

`