[3.7] bpo-27115: Use Query subclass for IDLE editor Goto (GH-18871) by miss-islington · Pull Request #18887 · python/cpython

Expand Up @@ -138,6 +138,33 @@ def test_good_module_name(self): self.assertEqual(dialog.entry_error['text'], '')

class GotoTest(unittest.TestCase): "Test Goto subclass of Query."
class Dummy_ModuleName: entry_ok = query.Goto.entry_ok # Function being tested. def __init__(self, dummy_entry): self.entry = Var(value=dummy_entry) self.entry_error = {'text': ''} def showerror(self, message): self.entry_error['text'] = message
def test_bogus_goto(self): dialog = self.Dummy_ModuleName('a') self.assertEqual(dialog.entry_ok(), None) self.assertIn('not a base 10 integer', dialog.entry_error['text'])
def test_bad_goto(self): dialog = self.Dummy_ModuleName('0') self.assertEqual(dialog.entry_ok(), None) self.assertIn('not a positive integer', dialog.entry_error['text'])
def test_good_goto(self): dialog = self.Dummy_ModuleName('1') self.assertEqual(dialog.entry_ok(), 1) self.assertEqual(dialog.entry_error['text'], '')

# 3 HelpSource test classes each test one method.
class HelpsourceBrowsefileTest(unittest.TestCase): Expand Down Expand Up @@ -363,6 +390,22 @@ def test_click_module_name(self): root.destroy()

class GotoGuiTest(unittest.TestCase):
@classmethod def setUpClass(cls): requires('gui')
def test_click_module_name(self): root = Tk() root.withdraw() dialog = query.Goto(root, 'T', 't', _utest=True) dialog.entry.insert(0, '22') dialog.button_ok.invoke() self.assertEqual(dialog.result, 22) root.destroy()

class HelpsourceGuiTest(unittest.TestCase):
@classmethod Expand Down