Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 7c28999

Browse files
Issue #22769: Fixed ttk.Treeview.tag_has() when called without arguments.
2 parents 9f2e0d6 + 8e92f57 commit 7c28999

3 files changed

Lines changed: 23 additions & 2 deletions

File tree

Lib/tkinter/test/test_ttk/test_widgets.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import unittest
22
import tkinter
3-
from tkinter import ttk
3+
from tkinter import ttk, TclError
44
from test.support import requires
55
import sys
66

@@ -1563,6 +1563,21 @@ def test_tag_configure(self):
15631563
'blue')
15641564
self.assertIsInstance(self.tv.tag_configure('test'), dict)
15651565

1566+
def test_tag_has(self):
1567+
item1 = self.tv.insert('', 'end', text='Item 1', tags=['tag1'])
1568+
item2 = self.tv.insert('', 'end', text='Item 2', tags=['tag2'])
1569+
self.assertRaises(TypeError, self.tv.tag_has)
1570+
self.assertRaises(TclError, self.tv.tag_has, 'tag1', 'non-existing')
1571+
self.assertTrue(self.tv.tag_has('tag1', item1))
1572+
self.assertFalse(self.tv.tag_has('tag1', item2))
1573+
self.assertFalse(self.tv.tag_has('tag2', item1))
1574+
self.assertTrue(self.tv.tag_has('tag2', item2))
1575+
self.assertFalse(self.tv.tag_has('tag3', item1))
1576+
self.assertFalse(self.tv.tag_has('tag3', item2))
1577+
self.assertEqual(self.tv.tag_has('tag1'), (item1,))
1578+
self.assertEqual(self.tv.tag_has('tag2'), (item2,))
1579+
self.assertEqual(self.tv.tag_has('tag3'), ())
1580+
15661581

15671582
@add_standard_options(StandardTtkOptionsTests)
15681583
class SeparatorTest(AbstractWidgetTest, unittest.TestCase):

Lib/tkinter/ttk.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1456,7 +1456,11 @@ def tag_has(self, tagname, item=None):
14561456
all items which have the specified tag.
14571457
14581458
* Availability: Tk 8.6"""
1459-
return self.tk.getboolean(
1459+
if item is None:
1460+
return self.tk.splitlist(
1461+
self.tk.call(self._w, "tag", "has", tagname))
1462+
else:
1463+
return self.tk.getboolean(
14601464
self.tk.call(self._w, "tag", "has", tagname, item))
14611465

14621466

Misc/NEWS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,8 @@ Core and Builtins
183183
Library
184184
-------
185185

186+
- Issue #22769: Fixed ttk.Treeview.tag_has() when called without arguments.
187+
186188
- Issue #22417: Verify certificates by default in httplib (PEP 476).
187189

188190
- Issue #22775: Fixed unpickling of http.cookies.SimpleCookie with protocol 2

0 commit comments

Comments
 (0)