diff options
author | Terry Jan Reedy <tjreedy@udel.edu> | 2019-11-20 01:18:39 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-11-20 01:18:39 -0500 |
commit | b8462477bfd01ff21461065d5063e6b0238ca809 (patch) | |
tree | 266c7a274d833dbc1d0cb8a3581375fc66305f4e /Lib/idlelib/idle_test/test_format.py | |
parent | 7483451577916e693af6d20cf520b2cc7e2174d2 (diff) | |
download | cpython-b8462477bfd01ff21461065d5063e6b0238ca809.tar.gz cpython-b8462477bfd01ff21461065d5063e6b0238ca809.zip |
bpo-38636: Fix IDLE tab toggle and file indent width (GH-17008)
These Format menu functions (default shortcuts Alt-T and Alt-U)
were mistakenly disabled in 3.7.5 and 3.8.0.
Diffstat (limited to 'Lib/idlelib/idle_test/test_format.py')
-rw-r--r-- | Lib/idlelib/idle_test/test_format.py | 39 |
1 files changed, 37 insertions, 2 deletions
diff --git a/Lib/idlelib/idle_test/test_format.py b/Lib/idlelib/idle_test/test_format.py index c7b123e9d51..20b5970f498 100644 --- a/Lib/idlelib/idle_test/test_format.py +++ b/Lib/idlelib/idle_test/test_format.py @@ -417,7 +417,7 @@ class FormatRegionTest(unittest.TestCase): self.text.delete('1.0', 'end') code_sample = """\ - +# WS line needed for test. class C1(): # Class comment. def __init__(self, a, b): @@ -574,7 +574,42 @@ class C1(): self.assertEqual(ask(), 10) -class rstripTest(unittest.TestCase): +class IndentsTest(unittest.TestCase): + + @mock.patch.object(ft, "askyesno") + def test_toggle_tabs(self, askyesno): + editor = DummyEditwin(None, None) # usetabs == False. + indents = ft.Indents(editor) + askyesno.return_value = True + + indents.toggle_tabs_event(None) + self.assertEqual(editor.usetabs, True) + self.assertEqual(editor.indentwidth, 8) + + indents.toggle_tabs_event(None) + self.assertEqual(editor.usetabs, False) + self.assertEqual(editor.indentwidth, 8) + + @mock.patch.object(ft, "askinteger") + def test_change_indentwidth(self, askinteger): + editor = DummyEditwin(None, None) # indentwidth == 4. + indents = ft.Indents(editor) + + askinteger.return_value = None + indents.change_indentwidth_event(None) + self.assertEqual(editor.indentwidth, 4) + + askinteger.return_value = 3 + indents.change_indentwidth_event(None) + self.assertEqual(editor.indentwidth, 3) + + askinteger.return_value = 5 + editor.usetabs = True + indents.change_indentwidth_event(None) + self.assertEqual(editor.indentwidth, 3) + + +class RstripTest(unittest.TestCase): def test_rstrip_line(self): editor = MockEditor() |