Skip to content

Commit

Permalink
[2.7] bpo-33096: Fix ttk.Treeview.insert. (GH-6228) (GH-6326)
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
serhiy-storchaka and plusminushalf committed Mar 31, 2018
1 parent 924035a commit e80a232
Show file tree
Hide file tree
Showing 5 changed files with 3,546 additions and 1 deletion.
9 changes: 9 additions & 0 deletions Lib/lib-tk/test/test_ttk/test_widgets.py
Expand Up @@ -1485,6 +1485,15 @@ def test_insert_item(self):
self.tv.insert('', 'end', text=value), text=None),
value)

# test for values which are not None
itemid = self.tv.insert('', 'end', 0)
self.assertEqual(itemid, '0')
itemid = self.tv.insert('', 'end', 0.0)
self.assertEqual(itemid, '0.0')
# this is because False resolves to 0 and element with 0 iid is already present
self.assertRaises(tkinter.TclError, self.tv.insert, '', 'end', False)
self.assertRaises(tkinter.TclError, self.tv.insert, '', 'end', '')


def test_selection(self):
# item 'none' doesn't exist
Expand Down
2 changes: 1 addition & 1 deletion Lib/lib-tk/ttk.py
Expand Up @@ -1332,7 +1332,7 @@ def insert(self, parent, index, iid=None, **kw):
already exist in the tree. Otherwise, a new unique identifier
is generated."""
opts = _format_optdict(kw)
if iid:
if iid is not None:
res = self.tk.call(self._w, "insert", parent, index,
"-id", iid, *opts)
else:
Expand Down

0 comments on commit e80a232

Please sign in to comment.