2013-07-13 03:34:43 -03:00
|
|
|
import unittest
|
2016-05-28 14:22:31 -03:00
|
|
|
import idlelib.rstrip as rs
|
2013-07-13 03:34:43 -03:00
|
|
|
from idlelib.idle_test.mock_idle import Editor
|
|
|
|
|
|
|
|
class rstripTest(unittest.TestCase):
|
|
|
|
|
|
|
|
def test_rstrip_line(self):
|
|
|
|
editor = Editor()
|
|
|
|
text = editor.text
|
|
|
|
do_rstrip = rs.RstripExtension(editor).do_rstrip
|
|
|
|
|
|
|
|
do_rstrip()
|
|
|
|
self.assertEqual(text.get('1.0', 'insert'), '')
|
|
|
|
text.insert('1.0', ' ')
|
|
|
|
do_rstrip()
|
|
|
|
self.assertEqual(text.get('1.0', 'insert'), '')
|
|
|
|
text.insert('1.0', ' \n')
|
|
|
|
do_rstrip()
|
|
|
|
self.assertEqual(text.get('1.0', 'insert'), '\n')
|
|
|
|
|
|
|
|
def test_rstrip_multiple(self):
|
|
|
|
editor = Editor()
|
|
|
|
# Uncomment following to verify that test passes with real widgets.
|
2016-05-28 14:22:31 -03:00
|
|
|
## from idlelib.editor import EditorWindow as Editor
|
2013-07-13 03:34:43 -03:00
|
|
|
## from tkinter import Tk
|
|
|
|
## editor = Editor(root=Tk())
|
|
|
|
text = editor.text
|
|
|
|
do_rstrip = rs.RstripExtension(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=False)
|