From d5d4c4eabe00186e9c9020bc6caa045784ee3cc9 Mon Sep 17 00:00:00 2001 From: Terry Jan Reedy Date: Tue, 22 Apr 2014 01:11:03 -0400 Subject: [PATCH] Issue 21284: Idle: make test_formatparagraph pass even when a user changes the reformat width in the configuration menu. --- Lib/idlelib/FormatParagraph.py | 13 ++++++++----- Lib/idlelib/idle_test/test_formatparagraph.py | 10 +++++----- Misc/NEWS | 2 ++ 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/Lib/idlelib/FormatParagraph.py b/Lib/idlelib/FormatParagraph.py index ae4e6e7b911..2ac87e45ea1 100644 --- a/Lib/idlelib/FormatParagraph.py +++ b/Lib/idlelib/FormatParagraph.py @@ -32,7 +32,7 @@ class FormatParagraph: def close(self): self.editwin = None - def format_paragraph_event(self, event): + def format_paragraph_event(self, event, limit=None): """Formats paragraph to a max width specified in idleConf. If text is selected, format_paragraph_event will start breaking lines @@ -41,9 +41,12 @@ class FormatParagraph: If no text is selected, format_paragraph_event uses the current cursor location to determine the paragraph (lines of text surrounded by blank lines) and formats it. + + The length limit parameter is for testing with a known value. """ - maxformatwidth = idleConf.GetOption( - 'main', 'FormatParagraph', 'paragraph', type='int') + if limit == None: + limit = idleConf.GetOption( + 'main', 'FormatParagraph', 'paragraph', type='int') text = self.editwin.text first, last = self.editwin.get_selection_indices() if first and last: @@ -53,9 +56,9 @@ class FormatParagraph: first, last, comment_header, data = \ find_paragraph(text, text.index("insert")) if comment_header: - newdata = reformat_comment(data, maxformatwidth, comment_header) + newdata = reformat_comment(data, limit, comment_header) else: - newdata = reformat_paragraph(data, maxformatwidth) + newdata = reformat_paragraph(data, limit) text.tag_remove("sel", "1.0", "end") if newdata != data: diff --git a/Lib/idlelib/idle_test/test_formatparagraph.py b/Lib/idlelib/idle_test/test_formatparagraph.py index f4a7c2d6803..690c9361454 100644 --- a/Lib/idlelib/idle_test/test_formatparagraph.py +++ b/Lib/idlelib/idle_test/test_formatparagraph.py @@ -293,7 +293,7 @@ class FormatEventTest(unittest.TestCase): # Set cursor ('insert' mark) to '1.0', within text. text.insert('1.0', self.test_string) text.mark_set('insert', '1.0') - self.formatter('ParameterDoesNothing') + self.formatter('ParameterDoesNothing', limit=70) result = text.get('1.0', 'insert') # find function includes \n expected = ( @@ -305,7 +305,7 @@ class FormatEventTest(unittest.TestCase): # Select from 1.11 to line end. text.insert('1.0', self.test_string) text.tag_add('sel', '1.11', '1.end') - self.formatter('ParameterDoesNothing') + self.formatter('ParameterDoesNothing', limit=70) result = text.get('1.0', 'insert') # selection excludes \n expected = ( @@ -319,7 +319,7 @@ class FormatEventTest(unittest.TestCase): # Select 2 long lines. text.insert('1.0', self.multiline_test_string) text.tag_add('sel', '2.0', '4.0') - self.formatter('ParameterDoesNothing') + self.formatter('ParameterDoesNothing', limit=70) result = text.get('2.0', 'insert') expected = ( " The second line's length is way over the max width. It goes on and\n" @@ -334,7 +334,7 @@ class FormatEventTest(unittest.TestCase): # Set cursor ('insert') to '1.0', within block. text.insert('1.0', self.multiline_test_comment) - self.formatter('ParameterDoesNothing') + self.formatter('ParameterDoesNothing', limit=70) result = text.get('1.0', 'insert') expected = ( "# The first line is under the max width. The second line's length is\n" @@ -348,7 +348,7 @@ class FormatEventTest(unittest.TestCase): # Select line 2, verify line 1 unaffected. text.insert('1.0', self.multiline_test_comment) text.tag_add('sel', '2.0', '3.0') - self.formatter('ParameterDoesNothing') + self.formatter('ParameterDoesNothing', limit=70) result = text.get('1.0', 'insert') expected = ( "# The first line is under the max width.\n" diff --git a/Misc/NEWS b/Misc/NEWS index 9ccd8d4304e..581a4c70232 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -186,6 +186,8 @@ Extension Modules IDLE ---- +- Issue 21284: Paragraph reformat test passes after user changes reformat width. + - Issue #17654: Ensure IDLE menus are customized properly on OS X for non-framework builds and for all variants of Tk.