https://github.com/python/cpython/commit/b1064ed0a3d15a4fcb4ce9cafa7c6a49fd42be15
commit: b1064ed0a3d15a4fcb4ce9cafa7c6a49fd42be15
branch: 3.14
author: Miss Islington (bot) <[email protected]>
committer: serhiy-storchaka <[email protected]>
date: 2026-07-09T15:45:11Z
summary:

[3.14] gh-153422: Assert bool return type in tkinter tests (GH-153429) 
(GH-153439) (GH-153442)

The tests for PhotoImage.transparency_get(), Text.debug() and
Treeview.exists() now assert the exact bool type, and the documentation
and docstrings use "true"/"false" instead of "1"/"0".
(cherry picked from commit 1604c80008d72b4c9a5bd789900ecf9aff402c1e)

Co-authored-by: Serhiy Storchaka <[email protected]>
Co-authored-by: Claude Opus 4.8 <[email protected]>

files:
M Doc/library/tkinter.rst
M Lib/test/test_tkinter/test_images.py
M Lib/test/test_tkinter/test_text.py
M Lib/test/test_ttk/test_widgets.py
M Lib/tkinter/ttk.py

diff --git a/Doc/library/tkinter.rst b/Doc/library/tkinter.rst
index 2fc19b8dca4f02..ec0ec48a5959af 100644
--- a/Doc/library/tkinter.rst
+++ b/Doc/library/tkinter.rst
@@ -1986,7 +1986,7 @@ Base and mixin classes
 
    .. method:: winfo_exists()
 
-      Return ``1`` if the widget exists, ``0`` otherwise.
+      Return true if the widget exists, false otherwise.
 
    .. method:: winfo_fpixels(number)
 
@@ -2025,7 +2025,7 @@ Base and mixin classes
 
    .. method:: winfo_ismapped()
 
-      Return ``1`` if the widget is currently mapped, ``0`` otherwise.
+      Return true if the widget is currently mapped, false otherwise.
 
    .. method:: winfo_manager()
 
@@ -2156,8 +2156,8 @@ Base and mixin classes
 
    .. method:: winfo_viewable()
 
-      Return ``1`` if the widget and all of its ancestors up through the
-      nearest toplevel window are mapped, ``0`` otherwise.
+      Return true if the widget and all of its ancestors up through the
+      nearest toplevel window are mapped, false otherwise.
 
    .. method:: winfo_visual()
 
@@ -5534,7 +5534,7 @@ Widget classes
    .. method:: edit_modified(arg=None)
 
       If *arg* is omitted, return the current state of the modified flag as
-      ``0`` or ``1``; the flag is set automatically whenever the text is
+      true or false; the flag is set automatically whenever the text is
       inserted or deleted.
       Otherwise set the flag to the boolean *arg*.
 
diff --git a/Lib/test/test_tkinter/test_images.py 
b/Lib/test/test_tkinter/test_images.py
index fbc478b45172d5..eb5794d391e758 100644
--- a/Lib/test/test_tkinter/test_images.py
+++ b/Lib/test/test_tkinter/test_images.py
@@ -647,12 +647,12 @@ def test_data(self):
 
     def test_transparency(self):
         image = self.create()
-        self.assertEqual(image.transparency_get(0, 0), True)
-        self.assertEqual(image.transparency_get(4, 6), False)
+        self.assertIs(image.transparency_get(0, 0), True)
+        self.assertIs(image.transparency_get(4, 6), False)
         image.transparency_set(4, 6, True)
-        self.assertEqual(image.transparency_get(4, 6), True)
+        self.assertIs(image.transparency_get(4, 6), True)
         image.transparency_set(4, 6, False)
-        self.assertEqual(image.transparency_get(4, 6), False)
+        self.assertIs(image.transparency_get(4, 6), False)
         self.assertRaises(tkinter.TclError, image.transparency_get, -1, 0)
         self.assertRaises(tkinter.TclError, image.transparency_get, 16, 0)
         self.assertRaises(tkinter.TclError, image.transparency_set, -1, 0, 
True)
diff --git a/Lib/test/test_tkinter/test_text.py 
b/Lib/test/test_tkinter/test_text.py
index 8177750b3ba332..acbee1acad633e 100644
--- a/Lib/test/test_tkinter/test_text.py
+++ b/Lib/test/test_tkinter/test_text.py
@@ -18,10 +18,10 @@ 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)
+            text.debug(False)
+            self.assertIs(text.debug(), False)
+            text.debug(True)
+            self.assertIs(text.debug(), True)
         finally:
             text.debug(olddebug)
             self.assertEqual(text.debug(), olddebug)
diff --git a/Lib/test/test_ttk/test_widgets.py 
b/Lib/test/test_ttk/test_widgets.py
index ac4a833a0b6b84..6d997f9a8e86d0 100644
--- a/Lib/test/test_ttk/test_widgets.py
+++ b/Lib/test/test_ttk/test_widgets.py
@@ -1680,9 +1680,9 @@ def test_detach_reattach(self):
         self.assertEqual(self.tv.get_children(item_id), ())
 
     def test_exists(self):
-        self.assertEqual(self.tv.exists('something'), False)
-        self.assertEqual(self.tv.exists(''), True)
-        self.assertEqual(self.tv.exists({}), False)
+        self.assertIs(self.tv.exists('something'), False)
+        self.assertIs(self.tv.exists(''), True)
+        self.assertIs(self.tv.exists({}), False)
 
         # the following will make a tk.call equivalent to
         # tk.call(treeview, "exists") which should result in an error
diff --git a/Lib/tkinter/ttk.py b/Lib/tkinter/ttk.py
index b3114a4666579d..e002ac8cfd0b64 100644
--- a/Lib/tkinter/ttk.py
+++ b/Lib/tkinter/ttk.py
@@ -1485,8 +1485,8 @@ def tag_configure(self, tagname, option=None, **kw):
 
 
     def tag_has(self, tagname, item=None):
-        """If item is specified, returns 1 or 0 depending on whether the
-        specified item has the given tagname. Otherwise, returns a list of
+        """If item is specified, returns True if the specified item has the
+        given tagname, False otherwise. Otherwise, returns a list of
         all items which have the specified tag.
 
         * Availability: Tk 8.6"""

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]

Reply via email to