]> 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:29:35 +0000 (14:29 +0200)
committerSerhiy Storchaka <storchaka@gmail.com>
Sun, 3 Nov 2013 12:29:35 +0000 (14:29 +0200)
Lib/tkinter/__init__.py
Lib/tkinter/test/test_tkinter/test_text.py
Lib/tkinter/test/test_tkinter/test_widgets.py
Misc/NEWS

index 549dfaabb83eda70760e3891eb935940b697dfd7..9cb228429da9a169e149db4984e480fd76b55d07 100644 (file)
@@ -2990,8 +2990,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 a93c4ce25e7d197d805321cb3b59e04ac6e49993..4c3fa04188e023074d1b657539011dea5b9b791b 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 7b89c74f97e9d512ff7bcfbf8841cbe25e307196..1ed306a7ebb3f6d02226cfd3a894859e1361ac5c 100644 (file)
@@ -610,6 +610,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 bc684d74ae63af0e2cea9034b41950542bebad01..26fc76cb721a92d7bc16d10b3611dcb5a52b1581 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -13,6 +13,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.