[Python-checkins] r73112 - python/branches/tk_and_idle_maintenance/Lib/lib-tk/test/test_tkinter/test_scrollbar.py
guilherme.polo
python-checkins at python.org
Mon Jun 1 22:01:24 CEST 2009
Author: guilherme.polo
Date: Mon Jun 1 22:01:24 2009
New Revision: 73112
Log:
Some tests for Tkinter.Scrollbar.
Added:
python/branches/tk_and_idle_maintenance/Lib/lib-tk/test/test_tkinter/test_scrollbar.py (contents, props changed)
Added: python/branches/tk_and_idle_maintenance/Lib/lib-tk/test/test_tkinter/test_scrollbar.py
==============================================================================
--- (empty file)
+++ python/branches/tk_and_idle_maintenance/Lib/lib-tk/test/test_tkinter/test_scrollbar.py Mon Jun 1 22:01:24 2009
@@ -0,0 +1,84 @@
+import unittest
+import Tkinter
+from test.test_support import requires, run_unittest
+from ttk import setup_master
+
+requires('gui')
+
+class ScrollbarTest(unittest.TestCase):
+
+ def setUp(self):
+ self.root = setup_master()
+ self.text = Tkinter.Text(self.root, width=50, height=10)
+ self.sb = Tkinter.Scrollbar(self.root)
+ self.text.pack(side='left', fill='both', expand=True)
+ self.sb.pack(side='right', fill='y')
+ self.text['yscrollcommand'] = self.sb.set
+ self.sb['command'] = self.text.yview
+
+ def tearDown(self):
+ self.sb.destroy()
+ self.text.destroy()
+
+
+ def test_activate(self):
+ self.assertIs(self.sb.activate(), None)
+ self.sb.activate('arrow2')
+ self.assertEqual(self.sb.activate(), 'arrow2')
+ self.sb.activate('something invalid')
+ self.assertIs(self.sb.activate(), None)
+
+ def test_delta(self):
+ self.sb.update_idletasks()
+ self.assertTrue(isinstance(self.sb.delta(5, 5), float))
+ self.assertTrue(isinstance(self.sb.delta('1', '2'), float))
+ self.assertRaises(Tkinter.TclError, self.sb.delta, 1, {})
+
+ def test_fraction(self):
+ self.sb.update_idletasks()
+ self.assertTrue(isinstance(self.sb.fraction(5, 5), float))
+ self.assertTrue(isinstance(self.sb.fraction('1', '2'), float))
+ self.assertRaises(Tkinter.TclError, self.sb.fraction, 1, {})
+
+ def test_identify(self):
+ self.sb.update_idletasks()
+ x_mid = self.sb.winfo_width() / 2
+ y_max = self.sb.winfo_height()
+
+ values = ['', 'arrow1', 'arrow2', 'slider']
+ empty = self.sb.identify(0, 0)
+ self.assertIn(empty, values)
+ values.remove(empty)
+ self.assertEqual(values, ['arrow1', 'arrow2', 'slider'])
+ arrow1 = self.sb.identify(x_mid, 5)
+ self.assertIn(arrow1, values)
+ values.remove(arrow1)
+ self.assertEqual(values, ['arrow2', 'slider'])
+ arrow2 = self.sb.identify(x_mid, y_max - 5)
+ self.assertIn(arrow2, values)
+ values.remove(arrow2)
+ self.assertEqual(values, ['slider'])
+
+ for i in range(5, y_max):
+ if self.sb.identify(x_mid, i) in values:
+ values.remove('slider')
+ self.assertFalse(values)
+
+ def test_get_set(self):
+ self.sb.update_idletasks()
+ curr = self.sb.get()
+ self.assertTrue(isinstance(curr, tuple))
+ self.assertEqual(len(curr), 2)
+ for item in curr:
+ self.assertTrue(isinstance(item, float))
+
+ self.sb.set(2, 2)
+ self.assertEqual(self.sb.get(), (1.0, 1.0))
+ self.sb.set(-1, 2)
+ self.assertEqual(self.sb.get(), (0, 1))
+
+
+tests_gui = (ScrollbarTest, )
+
+if __name__ == "__main__":
+ run_unittest(*tests_gui)
More information about the Python-checkins
mailing list