]> granicus.if.org Git - python/commitdiff
bpo-32837: IDLE - require encoding argument for textview.view_file. (GH-5646)
authorTerry Jan Reedy <tjreedy@udel.edu>
Mon, 12 Feb 2018 22:42:41 +0000 (17:42 -0500)
committerGitHub <noreply@github.com>
Mon, 12 Feb 2018 22:42:41 +0000 (17:42 -0500)
Using the system and place-dependent default encoding for open()
is a bad idea for IDLE's system and location-independent files.

Lib/idlelib/idle_test/test_textview.py
Lib/idlelib/textview.py
Misc/NEWS.d/next/IDLE/2018-02-12-17-22-48.bpo-32837.-33QPl.rst [new file with mode: 0644]

index c129c2f0819a2fd81d7ae1e62288cc173496e6dc..dfd4063eb08d1e2dae2664599a0fe250caf60c76 100644 (file)
@@ -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)
index e3b55065c6d9cceb246652f941cc01d3cb6994f2..66201344061090fca5cedc4d610e5f533f5d82b9 100644 (file)
@@ -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 (file)
index 0000000..258536a
--- /dev/null
@@ -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.