Issue #6157: Fixed Tkinter.Text.debug(). Original patch by Guilherme Polo.

This commit is contained in:
Serhiy Storchaka 2013-11-03 14:28:29 +02:00
parent 8630f16eb7
commit 31b9c845d3
4 changed files with 29 additions and 2 deletions

View File

@ -2908,8 +2908,9 @@ class Text(Widget, XView, YView):
def debug(self, boolean=None): def debug(self, boolean=None):
"""Turn on the internal consistency checks of the B-Tree inside the text """Turn on the internal consistency checks of the B-Tree inside the text
widget according to BOOLEAN.""" widget according to BOOLEAN."""
return self.tk.getboolean(self.tk.call( if boolean is None:
self._w, 'debug', boolean)) return self.tk.call(self._w, 'debug')
self.tk.call(self._w, 'debug', boolean)
def delete(self, index1, index2=None): def delete(self, index1, index2=None):
"""Delete the characters between INDEX1 and INDEX2 (not included).""" """Delete the characters between INDEX1 and INDEX2 (not included)."""
self.tk.call(self._w, 'delete', index1, index2) self.tk.call(self._w, 'delete', index1, index2)

View File

@ -14,6 +14,17 @@ class TextTest(unittest.TestCase):
def tearDown(self): def tearDown(self):
self.text.destroy() 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): def test_search(self):
text = self.text text = self.text

View File

@ -607,6 +607,19 @@ class TextTest(AbstractWidgetTest, unittest.TestCase):
else: else:
self.checkEnumParam(widget, 'wrap', 'char', 'none', 'word') 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) @add_standard_options(PixelSizeTests, StandardOptionsTests)
class CanvasTest(AbstractWidgetTest, unittest.TestCase): class CanvasTest(AbstractWidgetTest, unittest.TestCase):

View File

@ -12,6 +12,8 @@ Core and Builtins
Library 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 - Issue #6160: The bbox() method of tkinter.Spinbox now returns a tuple of
integers instead of a string. Based on patch by Guilherme Polo. integers instead of a string. Based on patch by Guilherme Polo.