diff options
Diffstat (limited to 'Lib/tkinter/test/test_ttk/test_widgets.py')
-rw-r--r-- | Lib/tkinter/test/test_ttk/test_widgets.py | 49 |
1 files changed, 45 insertions, 4 deletions
diff --git a/Lib/tkinter/test/test_ttk/test_widgets.py b/Lib/tkinter/test/test_ttk/test_widgets.py index 8bd22d0..26766a8 100644 --- a/Lib/tkinter/test/test_ttk/test_widgets.py +++ b/Lib/tkinter/test/test_ttk/test_widgets.py @@ -1487,6 +1487,7 @@ class TreeviewTest(AbstractWidgetTest, unittest.TestCase): def test_selection(self): + self.assertRaises(TypeError, self.tv.selection, 'spam') # item 'none' doesn't exist self.assertRaises(tkinter.TclError, self.tv.selection_set, 'none') self.assertRaises(tkinter.TclError, self.tv.selection_add, 'none') @@ -1500,25 +1501,31 @@ class TreeviewTest(AbstractWidgetTest, unittest.TestCase): c3 = self.tv.insert(item1, 'end') self.assertEqual(self.tv.selection(), ()) - self.tv.selection_set((c1, item2)) + 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.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_add() + self.assertEqual(self.tv.selection(), (item1, c1, c2, item2)) - self.tv.selection_remove((item1, c3)) + 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_remove() + self.assertEqual(self.tv.selection(), (c1, item2)) - self.tv.selection_toggle((c1, c3)) + 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.selection_toggle() + self.assertEqual(self.tv.selection(), (c3,)) self.tv.insert('', 'end', id='with spaces') self.tv.selection_set('with spaces') @@ -1536,6 +1543,40 @@ class TreeviewTest(AbstractWidgetTest, unittest.TestCase): self.tv.selection_set(b'bytes\xe2\x82\xac') self.assertEqual(self.tv.selection(), ('bytes\xe2\x82\xac',)) + self.tv.selection_set() + self.assertEqual(self.tv.selection(), ()) + + # Old interface + self.tv.selection_set((c1, item2)) + self.assertEqual(self.tv.selection(), (c1, item2)) + self.tv.selection_add((c1, item1)) + self.assertEqual(self.tv.selection(), (item1, c1, item2)) + self.tv.selection_remove((item1, c3)) + self.assertEqual(self.tv.selection(), (c1, item2)) + self.tv.selection_toggle((c1, c3)) + self.assertEqual(self.tv.selection(), (c3, item2)) + + if sys.version_info >= (3, 7): + import warnings + warnings.warn( + 'Deprecated API of Treeview.selection() should be removed') + self.tv.selection_set() + self.assertEqual(self.tv.selection(), ()) + with self.assertWarns(DeprecationWarning): + self.tv.selection('set', (c1, item2)) + self.assertEqual(self.tv.selection(), (c1, item2)) + with self.assertWarns(DeprecationWarning): + self.tv.selection('add', (c1, item1)) + self.assertEqual(self.tv.selection(), (item1, c1, item2)) + with self.assertWarns(DeprecationWarning): + self.tv.selection('remove', (item1, c3)) + self.assertEqual(self.tv.selection(), (c1, item2)) + with self.assertWarns(DeprecationWarning): + self.tv.selection('toggle', (c1, c3)) + self.assertEqual(self.tv.selection(), (c3, item2)) + with self.assertWarns(DeprecationWarning): + selection = self.tv.selection(None) + self.assertEqual(selection, (c3, item2)) def test_set(self): self.tv['columns'] = ['A', 'B'] |