]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-34936: Fix TclError in tkinter.Spinbox.selection_element(). (GH-9760) (GH-9957)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Fri, 19 Oct 2018 15:44:35 +0000 (08:44 -0700)
committerGitHub <noreply@github.com>
Fri, 19 Oct 2018 15:44:35 +0000 (08:44 -0700)
(cherry picked from commit 1deea5e53991b46351f6bb395b22365c9455ed88)
(cherry picked from commit bd9c2ce7acaef45f23c2659b854fc9925096d040)

Co-authored-by: Juliette Monsel <j4321@users.noreply.github.com>
Lib/tkinter/__init__.py
Lib/tkinter/test/test_tkinter/test_widgets.py
Misc/NEWS.d/next/Library/2018-10-08-21-05-11.bpo-34936.3tRqdq.rst [new file with mode: 0644]

index ff85f837d1d5941c4ae572e64b63ca5140ee5801..a6e8fb2e611bb3ed6b2a1d7b3cccb330f352bc98 100644 (file)
@@ -3750,7 +3750,7 @@ class Spinbox(Widget, XView):
         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 @@ class Spinbox(Widget, XView):
         """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 @@ class Spinbox(Widget, XView):
         """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)
 
 ###########################################################################
 
index e4c9d337ba7d2b1652d32281c7cda8fa96449ab4..3fb641108cf8f90c024202bd22872dbce0958943 100644 (file)
@@ -474,6 +474,14 @@ class SpinboxTest(EntryTest, unittest.TestCase):
         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):
diff --git a/Misc/NEWS.d/next/Library/2018-10-08-21-05-11.bpo-34936.3tRqdq.rst b/Misc/NEWS.d/next/Library/2018-10-08-21-05-11.bpo-34936.3tRqdq.rst
new file mode 100644 (file)
index 0000000..7c1f7bb
--- /dev/null
@@ -0,0 +1,2 @@
+Fix ``TclError`` in ``tkinter.Spinbox.selection_element()``. Patch by
+Juliette Monsel.