bpo-30981: IDLE -- Add more configdialog font page tests. (#2794) · python/cpython@d0969d6 · GitHub
Skip to content

Commit d0969d6

Browse files
authored
bpo-30981: IDLE -- Add more configdialog font page tests. (#2794)
1 parent a54a8f1 commit d0969d6

3 files changed

Lines changed: 54 additions & 63 deletions

File tree

Lib/idlelib/configdialog.py

Lines changed: 28 additions & 45 deletions

Lib/idlelib/idle_test/test_configdialog.py

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -28,18 +28,12 @@
2828
highpage = changes['highlight']
2929
keyspage = changes['keys']
3030

31-
32-
class TestDialog(ConfigDialog):
33-
pass # Delete?
34-
35-
3631
def setUpModule():
3732
global root, dialog
3833
idleConf.userCfg = testcfg
3934
root = Tk()
4035
# root.withdraw() # Comment out, see issue 30870
41-
dialog = TestDialog(root, 'Test', _utest=True)
42-
36+
dialog = ConfigDialog(root, 'Test', _utest=True)
4337

4438
def tearDownModule():
4539
global root, dialog
@@ -56,7 +50,7 @@ class FontTabTest(unittest.TestCase):
5650
def setUp(self):
5751
changes.clear()
5852

59-
def test_font(self):
53+
def test_font_set(self):
6054
# Set values guaranteed not to be defaults.
6155
default_font = idleConf.GetFont(root, 'main', 'EditorWindow')
6256
default_size = str(default_font[1])
@@ -79,9 +73,22 @@ def test_font(self):
7973
'font-bold': str(not default_bold)}}
8074
self.assertEqual(mainpage, expected)
8175

82-
def test_set_sample(self):
83-
# Set_font_sample also sets highlight_sample.
84-
pass
76+
def test_bold_toggle(self):
77+
d = dialog
78+
d.set_samples = Func()
79+
d.bold_toggle.toggle()
80+
self.assertEqual(d.set_samples.called, 1)
81+
82+
def test_set_samples(self):
83+
d = dialog
84+
d.font_sample, d.highlight_sample = {}, {}
85+
d.font_name.set('test')
86+
d.font_size.set('5')
87+
d.font_bold.set(1)
88+
d.set_samples()
89+
expected = {'font': ('test', '5', 'bold')}
90+
self.assertTrue(d.font_sample == d.highlight_sample == expected)
91+
del d.font_sample, d.highlight_sample
8592

8693
def test_tabspace(self):
8794
dialog.space_num.set(6)
@@ -90,22 +97,22 @@ def test_tabspace(self):
9097

9198
class FontSelectTest(unittest.TestCase):
9299
# These two functions test that selecting a new font in the
93-
# list of fonts changes font_name and calls set_font_sample.
100+
# list of fonts changes font_name and calls set_samples.
94101
# The fontlist widget and on_fontlist_select event handler
95102
# are tested here together.
96103

97104
@classmethod
98105
def setUpClass(cls):
99106
if dialog.fontlist.size() < 2:
100107
cls.skipTest('need at least 2 fonts')
101-
dialog.set_font_sample = Func() # Mask instance method.
108+
dialog.set_samples = Func() # Mask instance method.
102109

103110
@classmethod
104111
def tearDownClass(cls):
105-
del dialog.set_font_sample # Unmask instance method.
112+
del dialog.set_samples # Unmask instance method.
106113

107114
def setUp(self):
108-
dialog.set_font_sample.called = 0
115+
dialog.set_samples.called = 0
109116
changes.clear()
110117

111118
def test_select_font_key(self):
@@ -124,7 +131,7 @@ def test_select_font_key(self):
124131
down_font = fontlist.get('active')
125132
self.assertNotEqual(down_font, font)
126133
self.assertIn(dialog.font_name.get(), down_font.lower())
127-
self.assertEqual(dialog.set_font_sample.called, 1)
134+
self.assertEqual(dialog.set_samples.called, 1)
128135

129136
# Test Up key.
130137
fontlist.focus_force()
@@ -135,7 +142,7 @@ def test_select_font_key(self):
135142
up_font = fontlist.get('active')
136143
self.assertEqual(up_font, font)
137144
self.assertIn(dialog.font_name.get(), up_font.lower())
138-
self.assertEqual(dialog.set_font_sample.called, 2)
145+
self.assertEqual(dialog.set_samples.called, 2)
139146

140147
def test_select_font_mouse(self):
141148
# Click on item should select that item.
@@ -157,7 +164,7 @@ def test_select_font_mouse(self):
157164
select_font = fontlist.get('anchor')
158165
self.assertEqual(select_font, font1)
159166
self.assertIn(dialog.font_name.get(), font1.lower())
160-
self.assertEqual(dialog.set_font_sample.called, 1)
167+
self.assertEqual(dialog.set_samples.called, 1)
161168

162169

163170
class HighlightTest(unittest.TestCase):
Lines changed: 1 addition & 0 deletions

0 commit comments

Comments
 (0)