Skip to content

Commit a154c9f

Browse files
committed
refactor(tests): Use mock.patch for messagebox dialogs
1 parent 66e0495 commit a154c9f

File tree

1 file changed

+4
-12
lines changed

1 file changed

+4
-12
lines changed

Lib/idlelib/idle_test/test_iomenu.py

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -119,16 +119,12 @@ def test_reload_with_unsaved_changes_cancel(self):
119119
io.set_saved(False)
120120

121121
# Mock askokcancel to return False (cancel)
122-
orig_askokcancel = iomenu.messagebox.askokcancel
123-
iomenu.messagebox.askokcancel = lambda *args, **kwargs: False
124-
125-
try:
122+
with patch('idlelib.iomenu.messagebox.askokcancel', return_value=False) as mock_askokcancel:
126123
result = io.reload(None)
127124
self.assertEqual(result, "break")
128125
# Content should not change
129126
self.assertIn("# Unsaved change", text.get('1.0', 'end-1c'))
130-
finally:
131-
iomenu.messagebox.askokcancel = orig_askokcancel
127+
mock_askokcancel.assert_called_once()
132128

133129
def test_reload_with_unsaved_changes_confirm(self):
134130
# Test reload with unsaved changes and user confirms
@@ -149,16 +145,12 @@ def test_reload_with_unsaved_changes_confirm(self):
149145
io.set_saved(False)
150146

151147
# Mock askokcancel to return True (confirm)
152-
orig_askokcancel = iomenu.messagebox.askokcancel
153-
iomenu.messagebox.askokcancel = lambda *args, **kwargs: True
154-
155-
try:
148+
with patch('idlelib.iomenu.messagebox.askokcancel', return_value=True) as mock_askokcancel:
156149
result = io.reload(None)
157150
self.assertEqual(result, "break")
158151
# Content should be reverted to original
159152
self.assertEqual(text.get('1.0', 'end-1c'), "# Original content\n")
160-
finally:
161-
iomenu.messagebox.askokcancel = orig_askokcancel
153+
mock_askokcancel.assert_called_once()
162154

163155

164156
def _extension_in_filetypes(extension):

0 commit comments

Comments
 (0)