Commit 95d95552 authored by Benjamin Peterson's avatar Benjamin Peterson

fix idle about dialog #27365

parent 0ffd26f7
......@@ -129,7 +129,7 @@ class AboutDialog(Toplevel):
self.display_file_text('About - Readme', 'README.txt', 'ascii')
def ShowIDLENEWS(self):
self.display_file_text('About - NEWS', 'NEWS.txt', 'ascii')
self.display_file_text('About - NEWS', 'NEWS.txt', 'utf-8')
def display_printer_text(self, title, printer):
printer._Printer__setup()
......@@ -144,5 +144,7 @@ class AboutDialog(Toplevel):
self.destroy()
if __name__ == '__main__':
import unittest
unittest.main('idlelib.idle_test.test_helpabout', verbosity=2, exit=False)
from idlelib.idle_test.htest import run
run(AboutDialog)
'''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.im_func
idle_readme = About.ShowIDLEAbout.im_func
idle_news = About.ShowIDLENEWS.im_func
# Called by the above
display_file_text = About.display_file_text.im_func
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.im_func
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)
......@@ -79,6 +79,10 @@ def view_file(parent, title, filename, encoding=None, modal=True):
tkMessageBox.showerror(title='File Load Error',
message='Unable to load file %r .' % filename,
parent=parent)
except UnicodeDecodeError as err:
showerror(title='Unicode Decode Error',
message=str(err),
parent=parent)
else:
return view_text(parent, title, textFile.read(), modal)
......
......@@ -10,6 +10,11 @@ Build
- Issue #26930: Update Windows builds to use OpenSSL 1.0.2h.
IDLE
----
- Issue #27365: Fix about dialog.
What's New in Python 2.7.12 release candidate 1?
================================================
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment