Kaydet (Commit) 1deea5e5 authored tarafından Juliette Monsel's avatar Juliette Monsel Kaydeden (comit) Serhiy Storchaka

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

üst bbd90e4f
...@@ -4280,7 +4280,7 @@ class Spinbox(Widget, XView): ...@@ -4280,7 +4280,7 @@ class Spinbox(Widget, XView):
select to commands. If the selection isn't currently in select to commands. If the selection isn't currently in
the spinbox, then a new selection is created to include the spinbox, then a new selection is created to include
the characters between index and the most recent selection the characters between index and the most recent selection
anchor point, inclusive. Returns an empty string. anchor point, inclusive.
""" """
return self.selection("adjust", index) return self.selection("adjust", index)
...@@ -4288,7 +4288,7 @@ class Spinbox(Widget, XView): ...@@ -4288,7 +4288,7 @@ class Spinbox(Widget, XView):
"""Clear the selection """Clear the selection
If the selection isn't in this widget then the 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") return self.selection("clear")
...@@ -4296,9 +4296,9 @@ class Spinbox(Widget, XView): ...@@ -4296,9 +4296,9 @@ class Spinbox(Widget, XView):
"""Sets or gets the currently selected element. """Sets or gets the currently selected element.
If a spinbutton element is specified, it will be 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)
def selection_from(self, index): def selection_from(self, index):
"""Set the fixed end of a selection to INDEX.""" """Set the fixed end of a selection to INDEX."""
......
...@@ -522,7 +522,14 @@ class SpinboxTest(EntryTest, unittest.TestCase): ...@@ -522,7 +522,14 @@ class SpinboxTest(EntryTest, unittest.TestCase):
self.assertEqual(widget.selection_get(), '2345') self.assertEqual(widget.selection_get(), '2345')
widget.selection_adjust(0) widget.selection_adjust(0)
self.assertEqual(widget.selection_get(), '12345') self.assertEqual(widget.selection_get(), '12345')
widget.selection_adjust(0)
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) @add_standard_options(StandardOptionsTests)
......
Fix ``TclError`` in ``tkinter.Spinbox.selection_element()``. Patch by
Juliette Monsel.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment