mirror of
https://github.com/python/cpython.git
synced 2025-07-24 11:44:31 +00:00
Issue #26386: Fixed ttk.TreeView selection operations with item id's
containing spaces.
This commit is contained in:
commit
255bbf2d25
3 changed files with 57 additions and 1 deletions
|
@ -1486,6 +1486,57 @@ class TreeviewTest(AbstractWidgetTest, unittest.TestCase):
|
|||
value)
|
||||
|
||||
|
||||
def test_selection(self):
|
||||
# item 'none' doesn't exist
|
||||
self.assertRaises(tkinter.TclError, self.tv.selection_set, 'none')
|
||||
self.assertRaises(tkinter.TclError, self.tv.selection_add, 'none')
|
||||
self.assertRaises(tkinter.TclError, self.tv.selection_remove, 'none')
|
||||
self.assertRaises(tkinter.TclError, self.tv.selection_toggle, 'none')
|
||||
|
||||
item1 = self.tv.insert('', 'end')
|
||||
item2 = self.tv.insert('', 'end')
|
||||
c1 = self.tv.insert(item1, 'end')
|
||||
c2 = self.tv.insert(item1, 'end')
|
||||
c3 = self.tv.insert(item1, 'end')
|
||||
self.assertEqual(self.tv.selection(), ())
|
||||
|
||||
self.tv.selection_set((c1, item2))
|
||||
self.assertEqual(self.tv.selection(), (c1, item2))
|
||||
self.tv.selection_set(c2)
|
||||
self.assertEqual(self.tv.selection(), (c2,))
|
||||
|
||||
self.tv.selection_add((c1, item2))
|
||||
self.assertEqual(self.tv.selection(), (c1, c2, item2))
|
||||
self.tv.selection_add(item1)
|
||||
self.assertEqual(self.tv.selection(), (item1, c1, c2, item2))
|
||||
|
||||
self.tv.selection_remove((item1, c3))
|
||||
self.assertEqual(self.tv.selection(), (c1, c2, item2))
|
||||
self.tv.selection_remove(c2)
|
||||
self.assertEqual(self.tv.selection(), (c1, item2))
|
||||
|
||||
self.tv.selection_toggle((c1, c3))
|
||||
self.assertEqual(self.tv.selection(), (c3, item2))
|
||||
self.tv.selection_toggle(item2)
|
||||
self.assertEqual(self.tv.selection(), (c3,))
|
||||
|
||||
self.tv.insert('', 'end', id='with spaces')
|
||||
self.tv.selection_set('with spaces')
|
||||
self.assertEqual(self.tv.selection(), ('with spaces',))
|
||||
|
||||
self.tv.insert('', 'end', id='{brace')
|
||||
self.tv.selection_set('{brace')
|
||||
self.assertEqual(self.tv.selection(), ('{brace',))
|
||||
|
||||
self.tv.insert('', 'end', id='unicode\u20ac')
|
||||
self.tv.selection_set('unicode\u20ac')
|
||||
self.assertEqual(self.tv.selection(), ('unicode\u20ac',))
|
||||
|
||||
self.tv.insert('', 'end', id=b'bytes\xe2\x82\xac')
|
||||
self.tv.selection_set(b'bytes\xe2\x82\xac')
|
||||
self.assertEqual(self.tv.selection(), ('bytes\xe2\x82\xac',))
|
||||
|
||||
|
||||
def test_set(self):
|
||||
self.tv['columns'] = ['A', 'B']
|
||||
item = self.tv.insert('', 'end', values=['a', 'b'])
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue