diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2018-02-12 23:40:12 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-12 23:40:12 (GMT) |
commit | 9fad857444d90b9c6c36c31f5f07e57f390a70f2 (patch) | |
tree | 0470fe6c43284bff2bf7c54c62fe8b7b0ded5ba0 | |
parent | 46daf39453023767eef3b6876d4a34996e124397 (diff) | |
download | cpython-9fad857444d90b9c6c36c31f5f07e57f390a70f2.zip cpython-9fad857444d90b9c6c36c31f5f07e57f390a70f2.tar.gz cpython-9fad857444d90b9c6c36c31f5f07e57f390a70f2.tar.bz2 |
bpo-32837: IDLE - require encoding argument for textview.view_file. (GH-5646)
Using the system and place-dependent default encoding for open()
is a bad idea for IDLE's system and location-independent files.
(cherry picked from commit 688722cedd6437910ff185ecf94fb3b749ad37f2)
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
-rw-r--r-- | Lib/idlelib/idle_test/test_textview.py | 7 | ||||
-rw-r--r-- | Lib/idlelib/textview.py | 2 | ||||
-rw-r--r-- | Misc/NEWS.d/next/IDLE/2018-02-12-17-22-48.bpo-32837.-33QPl.rst | 2 |
3 files changed, 7 insertions, 4 deletions
diff --git a/Lib/idlelib/idle_test/test_textview.py b/Lib/idlelib/idle_test/test_textview.py index c129c2f..dfd4063 100644 --- a/Lib/idlelib/idle_test/test_textview.py +++ b/Lib/idlelib/idle_test/test_textview.py @@ -112,7 +112,7 @@ class ViewFunctionTest(unittest.TestCase): view.ok() def test_view_file(self): - view = tv.view_file(root, 'Title', __file__, modal=False) + view = tv.view_file(root, 'Title', __file__, 'ascii', modal=False) self.assertIsInstance(view, tv.ViewWindow) self.assertIsInstance(view.viewframe, tv.ViewFrame) get = view.viewframe.textframe.text.get @@ -121,7 +121,7 @@ class ViewFunctionTest(unittest.TestCase): def test_bad_file(self): # Mock showerror will be used; view_file will return None. - view = tv.view_file(root, 'Title', 'abc.xyz', modal=False) + view = tv.view_file(root, 'Title', 'abc.xyz', 'ascii', modal=False) self.assertIsNone(view) self.assertEqual(tv.showerror.title, 'File Load Error') @@ -161,7 +161,8 @@ class ButtonClickTest(unittest.TestCase): def test_view_file_bind_with_button(self): def _command(): self.called = True - self.view = tv.view_file(root, 'TITLE_FILE', __file__, _utest=True) + self.view = tv.view_file(root, 'TITLE_FILE', __file__, + encoding='ascii', _utest=True) button = Button(root, text='BUTTON', command=_command) button.invoke() self.addCleanup(button.destroy) diff --git a/Lib/idlelib/textview.py b/Lib/idlelib/textview.py index e3b5506..6620134 100644 --- a/Lib/idlelib/textview.py +++ b/Lib/idlelib/textview.py @@ -107,7 +107,7 @@ def view_text(parent, title, text, modal=True, _utest=False): return ViewWindow(parent, title, text, modal, _utest=_utest) -def view_file(parent, title, filename, encoding=None, modal=True, _utest=False): +def view_file(parent, title, filename, encoding, modal=True, _utest=False): """Create text viewer for text in filename. Return error message if file cannot be read. Otherwise calls view_text diff --git a/Misc/NEWS.d/next/IDLE/2018-02-12-17-22-48.bpo-32837.-33QPl.rst b/Misc/NEWS.d/next/IDLE/2018-02-12-17-22-48.bpo-32837.-33QPl.rst new file mode 100644 index 0000000..258536a --- /dev/null +++ b/Misc/NEWS.d/next/IDLE/2018-02-12-17-22-48.bpo-32837.-33QPl.rst @@ -0,0 +1,2 @@ +Using the system and place-dependent default encoding for open() is a bad +idea for IDLE's system and location-independent files. |