mirror of
https://github.com/python/cpython.git
synced 2025-08-15 22:30:42 +00:00
bpo-36390: Gather IDLE Format menu functions into format.py (GH-14827) (GH-14829)
Add two indent spec methods from editor and Rstrip to existing file.
Tests are not added for indent methods because they need change
in lights of 3.x's prohibition on mixing tabs and spaces.
(cherry picked from commit 1b38922434
)
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
This commit is contained in:
parent
635743355d
commit
028f1d2479
6 changed files with 114 additions and 116 deletions
|
@ -6,6 +6,7 @@ from unittest import mock
|
|||
from test.support import requires
|
||||
from tkinter import Tk, Text
|
||||
from idlelib.editor import EditorWindow
|
||||
from idlelib.idle_test.mock_idle import Editor as MockEditor
|
||||
|
||||
|
||||
class Is_Get_Test(unittest.TestCase):
|
||||
|
@ -573,5 +574,50 @@ class C1():
|
|||
self.assertEqual(ask(), 10)
|
||||
|
||||
|
||||
class rstripTest(unittest.TestCase):
|
||||
|
||||
def test_rstrip_line(self):
|
||||
editor = MockEditor()
|
||||
text = editor.text
|
||||
do_rstrip = ft.Rstrip(editor).do_rstrip
|
||||
eq = self.assertEqual
|
||||
|
||||
do_rstrip()
|
||||
eq(text.get('1.0', 'insert'), '')
|
||||
text.insert('1.0', ' ')
|
||||
do_rstrip()
|
||||
eq(text.get('1.0', 'insert'), '')
|
||||
text.insert('1.0', ' \n')
|
||||
do_rstrip()
|
||||
eq(text.get('1.0', 'insert'), '\n')
|
||||
|
||||
def test_rstrip_multiple(self):
|
||||
editor = MockEditor()
|
||||
# Comment above, uncomment 3 below to test with real Editor & Text.
|
||||
#from idlelib.editor import EditorWindow as Editor
|
||||
#from tkinter import Tk
|
||||
#editor = Editor(root=Tk())
|
||||
text = editor.text
|
||||
do_rstrip = ft.Rstrip(editor).do_rstrip
|
||||
|
||||
original = (
|
||||
"Line with an ending tab \n"
|
||||
"Line ending in 5 spaces \n"
|
||||
"Linewithnospaces\n"
|
||||
" indented line\n"
|
||||
" indented line with trailing space \n"
|
||||
" ")
|
||||
stripped = (
|
||||
"Line with an ending tab\n"
|
||||
"Line ending in 5 spaces\n"
|
||||
"Linewithnospaces\n"
|
||||
" indented line\n"
|
||||
" indented line with trailing space\n")
|
||||
|
||||
text.insert('1.0', original)
|
||||
do_rstrip()
|
||||
self.assertEqual(text.get('1.0', 'insert'), stripped)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main(verbosity=2, exit=2)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue