diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2014-11-07 10:03:09 (GMT) |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2014-11-07 10:03:09 (GMT) |
commit | 7c28999cb2d46da5b688ae1a9fb4e63666628541 (patch) | |
tree | e4760fb466b90041ae9360f48f297135bd0e0094 /Lib | |
parent | 9f2e0d6a86c8384fec5f0e35e0487295d74c3315 (diff) | |
parent | 8e92f5727414815fce9a12ded1acfb7e13037e85 (diff) | |
download | cpython-7c28999cb2d46da5b688ae1a9fb4e63666628541.zip cpython-7c28999cb2d46da5b688ae1a9fb4e63666628541.tar.gz cpython-7c28999cb2d46da5b688ae1a9fb4e63666628541.tar.bz2 |
Issue #22769: Fixed ttk.Treeview.tag_has() when called without arguments.
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/tkinter/test/test_ttk/test_widgets.py | 17 | ||||
-rw-r--r-- | Lib/tkinter/ttk.py | 6 |
2 files changed, 21 insertions, 2 deletions
diff --git a/Lib/tkinter/test/test_ttk/test_widgets.py b/Lib/tkinter/test/test_ttk/test_widgets.py index f73ac79..8a27324 100644 --- a/Lib/tkinter/test/test_ttk/test_widgets.py +++ b/Lib/tkinter/test/test_ttk/test_widgets.py @@ -1,6 +1,6 @@ import unittest import tkinter -from tkinter import ttk +from tkinter import ttk, TclError from test.support import requires import sys @@ -1563,6 +1563,21 @@ class TreeviewTest(AbstractWidgetTest, unittest.TestCase): 'blue') self.assertIsInstance(self.tv.tag_configure('test'), dict) + def test_tag_has(self): + item1 = self.tv.insert('', 'end', text='Item 1', tags=['tag1']) + item2 = self.tv.insert('', 'end', text='Item 2', tags=['tag2']) + self.assertRaises(TypeError, self.tv.tag_has) + self.assertRaises(TclError, self.tv.tag_has, 'tag1', 'non-existing') + self.assertTrue(self.tv.tag_has('tag1', item1)) + self.assertFalse(self.tv.tag_has('tag1', item2)) + self.assertFalse(self.tv.tag_has('tag2', item1)) + self.assertTrue(self.tv.tag_has('tag2', item2)) + self.assertFalse(self.tv.tag_has('tag3', item1)) + self.assertFalse(self.tv.tag_has('tag3', item2)) + self.assertEqual(self.tv.tag_has('tag1'), (item1,)) + self.assertEqual(self.tv.tag_has('tag2'), (item2,)) + self.assertEqual(self.tv.tag_has('tag3'), ()) + @add_standard_options(StandardTtkOptionsTests) class SeparatorTest(AbstractWidgetTest, unittest.TestCase): diff --git a/Lib/tkinter/ttk.py b/Lib/tkinter/ttk.py index 29d225c..4327dbb 100644 --- a/Lib/tkinter/ttk.py +++ b/Lib/tkinter/ttk.py @@ -1456,7 +1456,11 @@ class Treeview(Widget, tkinter.XView, tkinter.YView): all items which have the specified tag. * Availability: Tk 8.6""" - return self.tk.getboolean( + if item is None: + return self.tk.splitlist( + self.tk.call(self._w, "tag", "has", tagname)) + else: + return self.tk.getboolean( self.tk.call(self._w, "tag", "has", tagname, item)) |