diff options
author | Terry Jan Reedy <tjreedy@udel.edu> | 2016-06-22 08:24:27 (GMT) |
---|---|---|
committer | Terry Jan Reedy <tjreedy@udel.edu> | 2016-06-22 08:24:27 (GMT) |
commit | 096c6aae8774dd80c130ee78fd6980fed523ba05 (patch) | |
tree | 0ccc49d88bf68f0f6ba15381b02ed074fac08f33 /Lib/idlelib/idle_test | |
parent | 317c56de6faddf63c9c070afc4c2c1711622c35c (diff) | |
parent | 06a1fcbb0035c664fefc53ddb8df65cc03a537b7 (diff) | |
download | cpython-096c6aae8774dd80c130ee78fd6980fed523ba05.zip cpython-096c6aae8774dd80c130ee78fd6980fed523ba05.tar.gz cpython-096c6aae8774dd80c130ee78fd6980fed523ba05.tar.bz2 |
Issue #27365: partial merge
Diffstat (limited to 'Lib/idlelib/idle_test')
-rw-r--r-- | Lib/idlelib/idle_test/test_help_about.py | 52 | ||||
-rw-r--r-- | Lib/idlelib/idle_test/test_textview.py | 16 |
2 files changed, 60 insertions, 8 deletions
diff --git a/Lib/idlelib/idle_test/test_help_about.py b/Lib/idlelib/idle_test/test_help_about.py new file mode 100644 index 0000000..d0a0127 --- /dev/null +++ b/Lib/idlelib/idle_test/test_help_about.py @@ -0,0 +1,52 @@ +'''Test idlelib.help_about. + +Coverage: +''' +from idlelib import aboutDialog as help_about +from idlelib import textView as textview +from idlelib.idle_test.mock_idle import Func +from idlelib.idle_test.mock_tk import Mbox +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): + "Test that .txt files are found and properly decoded." + dialog = Dummy_about_dialog() + + @classmethod + def setUpClass(cls): + cls.orig_mbox = textview.tkMessageBox + cls.orig_view = textview.view_text + cls.mbox = Mbox() + cls.view = Func() + textview.tkMessageBox = cls.mbox + textview.view_text = cls.view + cls.About = Dummy_about_dialog() + + @classmethod + def tearDownClass(cls): + textview.tkMessageBox = cls.orig_mbox + 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.mbox.showerror.message = '' + self.view.called = False + handler() + self.assertEqual(self.mbox.showerror.message, '') + self.assertEqual(self.view.called, True) + + +if __name__ == '__main__': + unittest.main(verbosity=2) diff --git a/Lib/idlelib/idle_test/test_textview.py b/Lib/idlelib/idle_test/test_textview.py index 764a1a5..0c625ee 100644 --- a/Lib/idlelib/idle_test/test_textview.py +++ b/Lib/idlelib/idle_test/test_textview.py @@ -5,7 +5,7 @@ is a widget containing multiple widgets, all tests must be gui tests. Using mock Text would not change this. Other mocks are used to retrieve information about calls. -The coverage is essentially 100%. +Coverage: 94%. ''' from idlelib import textview as tv from test.support import requires @@ -15,7 +15,7 @@ import unittest import os from tkinter import Tk from idlelib.idle_test.mock_idle import Func -from idlelib.idle_test.mock_tk import Mbox +from idlelib.idle_test.mock_tk import Mbox_func def setUpModule(): global root @@ -64,17 +64,17 @@ class TextViewTest(unittest.TestCase): view.destroy -class textviewTest(unittest.TestCase): +class ViewFunctionTest(unittest.TestCase): @classmethod def setUpClass(cls): - cls.orig_mbox = tv.tkMessageBox - tv.tkMessageBox = Mbox + cls.orig_error = tv.showerror + tv.showerror = Mbox_func() @classmethod def tearDownClass(cls): - tv.tkMessageBox = cls.orig_mbox - del cls.orig_mbox + tv.showerror = cls.orig_error + del cls.orig_error def test_view_text(self): # If modal True, tkinter will error with 'can't invoke "event" command' @@ -89,7 +89,7 @@ class textviewTest(unittest.TestCase): self.assertIn('Test', view.textView.get('1.0', '1.end')) view.Ok() - # Mock messagebox will be used and view_file will not return anything + # Mock showerror will be used and view_file will return None testfile = os.path.join(test_dir, '../notthere.py') view = tv.view_file(root, 'Title', testfile, modal=False) self.assertIsNone(view) |