]> granicus.if.org Git - python/commitdiff
Issue #6157: Fixed Tkinter.Text.debug(). Original patch by Guilherme Polo.
authorSerhiy Storchaka <storchaka@gmail.com>
Sun, 3 Nov 2013 12:28:29 +0000 (14:28 +0200)
committerSerhiy Storchaka <storchaka@gmail.com>
Sun, 3 Nov 2013 12:28:29 +0000 (14:28 +0200)
Lib/lib-tk/Tkinter.py
Lib/lib-tk/test/test_tkinter/test_text.py
Lib/lib-tk/test/test_tkinter/test_widgets.py
Misc/NEWS

index 6ad0cf15570d0022a59cab8bd9514f7cabedfba9..718be6eb5307138c0046437e657f4808cc9a0885 100644 (file)
@@ -2908,8 +2908,9 @@ class Text(Widget, XView, YView):
     def debug(self, boolean=None):
         """Turn on the internal consistency checks of the B-Tree inside the text
         widget according to BOOLEAN."""
-        return self.tk.getboolean(self.tk.call(
-            self._w, 'debug', boolean))
+        if boolean is None:
+            return self.tk.call(self._w, 'debug')
+        self.tk.call(self._w, 'debug', boolean)
     def delete(self, index1, index2=None):
         """Delete the characters between INDEX1 and INDEX2 (not included)."""
         self.tk.call(self._w, 'delete', index1, index2)
index e6c08be7ac06d530a5a4e7199c2e278068cb46de..ca21b601e2c9730e026d8e7ccc21abb2ebe31407 100644 (file)
@@ -14,6 +14,17 @@ class TextTest(unittest.TestCase):
     def tearDown(self):
         self.text.destroy()
 
+    def test_debug(self):
+        text = self.text
+        olddebug = text.debug()
+        try:
+            text.debug(0)
+            self.assertEqual(text.debug(), 0)
+            text.debug(1)
+            self.assertEqual(text.debug(), 1)
+        finally:
+            text.debug(olddebug)
+            self.assertEqual(text.debug(), olddebug)
 
     def test_search(self):
         text = self.text
index cfbc0b371863936c0c790d12fce8684e028d80cb..3042599a09d49185342272898cc9e34769783984 100644 (file)
@@ -607,6 +607,19 @@ class TextTest(AbstractWidgetTest, unittest.TestCase):
         else:
             self.checkEnumParam(widget, 'wrap', 'char', 'none', 'word')
 
+    def test_bbox(self):
+        widget = self.create()
+        bbox = widget.bbox('1.1')
+        self.assertEqual(len(bbox), 4)
+        for item in bbox:
+            self.assertIsInstance(item, int)
+
+        self.assertIsNone(widget.bbox('end'))
+        self.assertRaises(Tkinter.TclError, widget.bbox, 'noindex')
+        self.assertRaises(Tkinter.TclError, widget.bbox, None)
+        self.assertRaises(Tkinter.TclError, widget.bbox)
+        self.assertRaises(Tkinter.TclError, widget.bbox, '1.1', 'end')
+
 
 @add_standard_options(PixelSizeTests, StandardOptionsTests)
 class CanvasTest(AbstractWidgetTest, unittest.TestCase):
index 59d06ea433620de993337f00c2ae31f94b62723a..6f3b33a71ae60d87794179acbaf529a2155b5a6b 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,6 +12,8 @@ Core and Builtins
 Library
 -------
 
+- Issue #6157: Fixed Tkinter.Text.debug().  Original patch by Guilherme Polo.
+
 - Issue #6160: The bbox() method of tkinter.Spinbox now returns a tuple of
   integers instead of a string.  Based on patch by Guilherme Polo.