[Python-checkins] cpython (2.7): Issue 21284: Idle: make test_formatparagraph pass even when a user changes the

terry.reedy python-checkins at python.org
Tue Apr 22 07:12:43 CEST 2014


http://hg.python.org/cpython/rev/4ff2c0a637cf
changeset:   90425:4ff2c0a637cf
branch:      2.7
parent:      90414:e3217efa6edd
user:        Terry Jan Reedy <tjreedy at udel.edu>
date:        Tue Apr 22 01:10:57 2014 -0400
summary:
  Issue 21284: Idle: make test_formatparagraph pass even when a user changes the
reformat width in the configuration menu.

files:
  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
--- a/Lib/idlelib/FormatParagraph.py
+++ b/Lib/idlelib/FormatParagraph.py
@@ -32,7 +32,7 @@
     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 @@
         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 @@
             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
--- a/Lib/idlelib/idle_test/test_formatparagraph.py
+++ b/Lib/idlelib/idle_test/test_formatparagraph.py
@@ -293,7 +293,7 @@
         # 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 @@
         # 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 @@
         #  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 @@
 
         # 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 @@
         # 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
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -289,6 +289,8 @@
 IDLE
 ----
 
+- Issue 21284: Paragraph reformat test passes after user changes reformat width.
+
 - Issue #20406: Use Python application icons for Idle window title bars.
   Patch mostly by Serhiy Storchaka.
 

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list