bpo-34936: Fix TclError in tkinter.Spinbox.selection_element(). (GH-9760) (GH-9957)

(cherry picked from commit 1deea5e539)
This commit is contained in:
Juliette Monsel 2018-10-19 17:20:00 +02:00 committed by Serhiy Storchaka
parent a66f279a13
commit bd9c2ce7ac
3 changed files with 14 additions and 4 deletions

View file

@ -3750,7 +3750,7 @@ def selection_adjust(self, index):
select to commands. If the selection isn't currently in
the spinbox, then a new selection is created to include
the characters between index and the most recent selection
anchor point, inclusive. Returns an empty string.
anchor point, inclusive.
"""
return self.selection("adjust", index)
@ -3758,7 +3758,7 @@ def selection_clear(self):
"""Clear the selection
If the selection isn't in this widget then the
command has no effect. Returns an empty string.
command has no effect.
"""
return self.selection("clear")
@ -3766,9 +3766,9 @@ def selection_element(self, element=None):
"""Sets or gets the currently selected element.
If a spinbutton element is specified, it will be
displayed depressed
displayed depressed.
"""
return self.selection("element", element)
return self.tk.call(self._w, 'selection', 'element', element)
###########################################################################

View file

@ -474,6 +474,14 @@ def test_bbox(self):
self.assertRaises(TypeError, widget.bbox)
self.assertRaises(TypeError, widget.bbox, 0, 1)
def test_selection_element(self):
widget = self.create()
self.assertEqual(widget.selection_element(), "none")
widget.selection_element("buttonup")
self.assertEqual(widget.selection_element(), "buttonup")
widget.selection_element("buttondown")
self.assertEqual(widget.selection_element(), "buttondown")
@add_standard_options(StandardOptionsTests)
class TextTest(AbstractWidgetTest, unittest.TestCase):

View file

@ -0,0 +1,2 @@
Fix ``TclError`` in ``tkinter.Spinbox.selection_element()``. Patch by
Juliette Monsel.