mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
Issue #27365: Allow non-ascii in idlelib/NEWS.txt, for contributor names.
Rest of patch that should not be cherry picked into 3.5.2 final.
This commit is contained in:
parent
6ff7a14b91
commit
06a1fcbb00
3 changed files with 58 additions and 0 deletions
|
@ -145,5 +145,7 @@ class AboutDialog(Toplevel):
|
||||||
self.destroy()
|
self.destroy()
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
import unittest
|
||||||
|
unittest.main('idlelib.idle_test.test_helpabout', verbosity=2, exit=False)
|
||||||
from idlelib.idle_test.htest import run
|
from idlelib.idle_test.htest import run
|
||||||
run(AboutDialog)
|
run(AboutDialog)
|
||||||
|
|
52
Lib/idlelib/idle_test/test_help_about.py
Normal file
52
Lib/idlelib/idle_test/test_help_about.py
Normal file
|
@ -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)
|
|
@ -76,6 +76,10 @@ def view_file(parent, title, filename, encoding=None, modal=True):
|
||||||
tkMessageBox.showerror(title='File Load Error',
|
tkMessageBox.showerror(title='File Load Error',
|
||||||
message='Unable to load file %r .' % filename,
|
message='Unable to load file %r .' % filename,
|
||||||
parent=parent)
|
parent=parent)
|
||||||
|
except UnicodeDecodeError as err:
|
||||||
|
tkMessageBox.showerror(title='Unicode Decode Error',
|
||||||
|
message=str(err),
|
||||||
|
parent=parent)
|
||||||
else:
|
else:
|
||||||
return view_text(parent, title, contents, modal)
|
return view_text(parent, title, contents, modal)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue