'''Test idlelib.help_about. Coverage: ''' from idlelib import help_about from idlelib import textview from idlelib.idle_test.mock_idle import Func from idlelib.idle_test.mock_tk import Mbox_func import unittest About = help_about.AboutDialog class Dummy_about_dialog(): # Dummy class for testing file display functions. idle_credits = About.ShowIDLECredits idle_readme = About.ShowIDLEAbout idle_news = About.ShowIDLENEWS # Called by the above display_file_text = About.display_file_text class DisplayFileTest(unittest.TestCase): dialog = Dummy_about_dialog() @classmethod def setUpClass(cls): cls.orig_error = textview.showerror cls.orig_view = textview.view_text cls.error = Mbox_func() cls.view = Func() textview.showerror = cls.error textview.view_text = cls.view cls.About = Dummy_about_dialog() @classmethod def tearDownClass(cls): textview.showerror = cls.orig_error textview.view_text = cls.orig_view def test_file_isplay(self): for handler in (self.dialog.idle_credits, self.dialog.idle_readme, self.dialog.idle_news): self.error.message = '' self.view.called = False with self.subTest(handler=handler): handler() self.assertEqual(self.error.message, '') self.assertEqual(self.view.called, True) if __name__ == '__main__': unittest.main(verbosity=2)