Issue #6167: Scrollbar.activate() now returns the name of active element if

the argument is not specified.  Scrollbar.set() now always accepts only 2
arguments.  Added tests for Scrollbar.activate() and Scrollbar.set().
This commit is contained in:
Serhiy Storchaka 2014-07-23 22:00:44 +03:00
parent 6e20460dc6
commit 320f339131
3 changed files with 33 additions and 6 deletions

View file

@ -916,6 +916,25 @@ class ScrollbarTest(AbstractWidgetTest, unittest.TestCase):
self.checkEnumParam(widget, 'orient', 'vertical', 'horizontal',
errmsg='bad orientation "{}": must be vertical or horizontal')
def test_activate(self):
sb = self.create()
for e in ('arrow1', 'slider', 'arrow2'):
sb.activate(e)
self.assertEqual(sb.activate(), e)
sb.activate('')
self.assertIsNone(sb.activate())
self.assertRaises(TypeError, sb.activate, 'arrow1', 'arrow2')
def test_set(self):
sb = self.create()
sb.set(0.2, 0.4)
self.assertEqual(sb.get(), (0.2, 0.4))
self.assertRaises(TclError, sb.set, 'abc', 'def')
self.assertRaises(TclError, sb.set, 0.6, 'def')
self.assertRaises(TclError, sb.set, 0.6, None)
self.assertRaises(TypeError, sb.set, 0.6)
self.assertRaises(TypeError, sb.set, 0.6, 0.7, 0.8)
@add_standard_options(StandardOptionsTests)
class PanedWindowTest(AbstractWidgetTest, unittest.TestCase):