8000 [2.7] bpo-33096: Fix ttk.Treeview.insert. (GH-6228) (GH-6326) · python/cpython@e80a232 · GitHub
[go: up one dir, main page]

Skip to content

Commit e80a232

Browse files
[2.7] bpo-33096: Fix ttk.Treeview.insert. (GH-6228) (GH-6326)
Allow ttk.Treeview.insert to insert iid that has a false boolean value. Note iid=0 and iid=False would be same. (cherry picked from commit 3ab44c0) Co-authored-by: Garvit Khatri <garvitdelhi@gmail.com>
1 parent 924035a commit e80a232

File tree

5 files changed

+3546
-1
lines changed

5 files changed

+3546
-1
lines changed

Lib/lib-tk/test/test_ttk/test_widgets.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1485,6 +1485,15 @@ def test_insert_item(self):
14851485
self.tv.insert('', 'end', text=value), text=None),
14861486
value)
14871487

1488+
# test for values which are not None
1489+
itemid = self.tv.insert('', 'end', 0)
1490+
self.assertEqual(itemid, '0')
1491+
itemid = self.tv.insert('', 'end', 0.0)
1492+
self.assertEqual(itemid, '0.0')
1493+
# this is because False resolves to 0 and element with 0 iid is already present
1494+
self.assertRaises(tkinter.TclError, self.tv.insert, '', 'end', False)
1495+
self.assertRaises(tkinter.TclError, self.tv.insert, '', 'end', '')
1496+
14881497

14891498
def test_selection(self):
14901499
# item 'none' doesn't exist

Lib/lib-tk/ttk.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1332,7 +1332,7 @@ def insert(self, parent, index, iid=None, **kw):
13321332
already exist in the tree. Otherwise, a new unique identifier
13331333
is generated."""
13341334
opts = _format_optdict(kw)
1335-
if iid:
1335+
if iid is not None:
13361336
res = self.tk.call(self._w, "insert", parent, index,
13371337
"-id", iid, *opts)
13381338
else:

0 commit comments

Comments
 (0)
0