summaryrefslogtreecommitdiffstats
path: root/Lib/idlelib/idle_test
diff options
context:
space:
mode:
authorZackery Spytz <zspytz@gmail.com>2019-11-12 10:54:10 (GMT)
committerTerry Jan Reedy <tjreedy@udel.edu>2019-11-12 10:54:10 (GMT)
commitc8b53dc3d8f721ed8519aa5a35530a42fbfb9424 (patch)
tree9e6e28297b0083ccae965e44db76496aff55515d /Lib/idlelib/idle_test
parent733b9a308e3c49855888e2e12397ae56d831e780 (diff)
downloadcpython-c8b53dc3d8f721ed8519aa5a35530a42fbfb9424.zip
cpython-c8b53dc3d8f721ed8519aa5a35530a42fbfb9424.tar.gz
cpython-c8b53dc3d8f721ed8519aa5a35530a42fbfb9424.tar.bz2
bpo-26353: IDLE adds an unneeded newline when saving a shell window (GH-17103)
Diffstat (limited to 'Lib/idlelib/idle_test')
-rw-r--r--Lib/idlelib/idle_test/test_iomenu.py24
1 files changed, 18 insertions, 6 deletions
diff --git a/Lib/idlelib/idle_test/test_iomenu.py b/Lib/idlelib/idle_test/test_iomenu.py
index 743a05b..99f4048 100644
--- a/Lib/idlelib/idle_test/test_iomenu.py
+++ b/Lib/idlelib/idle_test/test_iomenu.py
@@ -1,14 +1,13 @@
-"Test , coverage 16%."
+"Test , coverage 17%."
from idlelib import iomenu
import unittest
from test.support import requires
from tkinter import Tk
-
from idlelib.editor import EditorWindow
-class IOBindigTest(unittest.TestCase):
+class IOBindingTest(unittest.TestCase):
@classmethod
def setUpClass(cls):
@@ -16,9 +15,11 @@ class IOBindigTest(unittest.TestCase):
cls.root = Tk()
cls.root.withdraw()
cls.editwin = EditorWindow(root=cls.root)
+ cls.io = iomenu.IOBinding(cls.editwin)
@classmethod
def tearDownClass(cls):
+ cls.io.close()
cls.editwin._close()
del cls.editwin
cls.root.update_idletasks()
@@ -28,9 +29,20 @@ class IOBindigTest(unittest.TestCase):
del cls.root
def test_init(self):
- io = iomenu.IOBinding(self.editwin)
- self.assertIs(io.editwin, self.editwin)
- io.close
+ self.assertIs(self.io.editwin, self.editwin)
+
+ def test_fixnewlines_end(self):
+ eq = self.assertEqual
+ io = self.io
+ fix = io.fixnewlines
+ text = io.editwin.text
+ self.editwin.interp = None
+ eq(fix(), '')
+ del self.editwin.interp
+ text.insert(1.0, 'a')
+ eq(fix(), 'a'+io.eol_convention)
+ eq(text.get('1.0', 'end-1c'), 'a\n')
+ eq(fix(), 'a'+io.eol_convention)
if __name__ == '__main__':