[Python-checkins] r66133 - in sandbox/trunk/ttk-gsoc/src: 2.x/test/test_other_widgets.py 3.x/test/test_other_widgets.py
guilherme.polo
python-checkins at python.org
Tue Sep 2 03:04:33 CEST 2008
Author: guilherme.polo
Date: Tue Sep 2 03:04:33 2008
New Revision: 66133
Log:
Added tests for Checkbutton and Radiobutton
Modified:
sandbox/trunk/ttk-gsoc/src/2.x/test/test_other_widgets.py
sandbox/trunk/ttk-gsoc/src/3.x/test/test_other_widgets.py
Modified: sandbox/trunk/ttk-gsoc/src/2.x/test/test_other_widgets.py
==============================================================================
--- sandbox/trunk/ttk-gsoc/src/2.x/test/test_other_widgets.py (original)
+++ sandbox/trunk/ttk-gsoc/src/2.x/test/test_other_widgets.py Tue Sep 2 03:04:33 2008
@@ -74,18 +74,33 @@
class CheckbuttonTest(unittest.TestCase):
- # XXX broken for now
def test_invoke(self):
success = []
def cb_test():
success.append(1)
+ return "cb test called"
+
cbtn = ttk.Checkbutton(command=cb_test)
- print cbtn.tk.globalgetvar(cbtn['variable'])
- print cbtn['variable'], "<<"
- cbtn.invoke()
+ # the variable automatically created by ttk.Checkbutton is actually
+ # undefined till we invoke the Checkbutton
+ self.failUnlessEqual(cbtn.state(), ('alternate', ))
+ self.failUnlessRaises(Tkinter.TclError, cbtn.tk.globalgetvar,
+ cbtn['variable'])
+
+ res = cbtn.invoke()
+ self.failUnlessEqual(res, "cb test called")
+ self.failUnlessEqual(cbtn['onvalue'],
+ cbtn.tk.globalgetvar(cbtn['variable']))
self.failUnless(success)
+ cbtn['command'] = ''
+ res = cbtn.invoke()
+ self.failUnlessEqual(res, '')
+ self.failIf(len(success) > 1)
+ self.failUnlessEqual(cbtn['offvalue'],
+ cbtn.tk.globalgetvar(cbtn['variable']))
+
class ComboboxTest(unittest.TestCase):
@@ -394,7 +409,35 @@
self.failUnless(isinstance(self.paned.sashpos(0), int))
-class RadiobuttonTest(unittest.TestCase): pass
+class RadiobuttonTest(unittest.TestCase):
+
+ def test_invoke(self):
+ success = []
+ def cb_test():
+ success.append(1)
+ return "cb test called"
+
+ myvar = Tkinter.IntVar()
+ cbtn = ttk.Radiobutton(command=cb_test, variable=myvar, value=0)
+ cbtn2 = ttk.Radiobutton(command=cb_test, variable=myvar, value=1)
+
+ res = cbtn.invoke()
+ self.failUnlessEqual(res, "cb test called")
+ self.failUnlessEqual(cbtn['value'], myvar.get())
+ self.failUnlessEqual(myvar.get(),
+ cbtn.tk.globalgetvar(cbtn['variable']))
+ self.failUnless(success)
+
+ cbtn2['command'] = ''
+ res = cbtn2.invoke()
+ self.failUnlessEqual(res, '')
+ self.failIf(len(success) > 1)
+ self.failUnlessEqual(cbtn2['value'], myvar.get())
+ self.failUnlessEqual(myvar.get(),
+ cbtn.tk.globalgetvar(cbtn['variable']))
+
+ self.failUnlessEqual(str(cbtn['variable']), str(cbtn2['variable']))
+
class ScaleTest(unittest.TestCase):
@@ -474,7 +517,7 @@
def test_main():
- support.run(WidgetTest, ButtonTest, #CheckbuttonTest, RadiobuttonTest,
+ support.run(WidgetTest, ButtonTest, CheckbuttonTest, RadiobuttonTest,
ComboboxTest, EntryTest, PanedwindowTest, ScaleTest)
if __name__ == "__main__":
Modified: sandbox/trunk/ttk-gsoc/src/3.x/test/test_other_widgets.py
==============================================================================
--- sandbox/trunk/ttk-gsoc/src/3.x/test/test_other_widgets.py (original)
+++ sandbox/trunk/ttk-gsoc/src/3.x/test/test_other_widgets.py Tue Sep 2 03:04:33 2008
@@ -74,18 +74,33 @@
class CheckbuttonTest(unittest.TestCase):
- # XXX broken for now
def test_invoke(self):
success = []
def cb_test():
success.append(1)
+ return "cb test called"
+
cbtn = ttk.Checkbutton(command=cb_test)
- print(cbtn.tk.globalgetvar(cbtn['variable']))
- print(cbtn['variable'], "<<")
- cbtn.invoke()
+ # the variable automatically created by ttk.Checkbutton is actually
+ # undefined till we invoke the Checkbutton
+ self.failUnlessEqual(cbtn.state(), ('alternate', ))
+ self.failUnlessRaises(tkinter.TclError, cbtn.tk.globalgetvar,
+ cbtn['variable'])
+
+ res = cbtn.invoke()
+ self.failUnlessEqual(res, "cb test called")
+ self.failUnlessEqual(cbtn['onvalue'],
+ cbtn.tk.globalgetvar(cbtn['variable']))
self.failUnless(success)
+ cbtn['command'] = ''
+ res = cbtn.invoke()
+ self.failUnlessEqual(res, '')
+ self.failIf(len(success) > 1)
+ self.failUnlessEqual(cbtn['offvalue'],
+ cbtn.tk.globalgetvar(cbtn['variable']))
+
class ComboboxTest(unittest.TestCase):
@@ -394,7 +409,35 @@
self.failUnless(isinstance(self.paned.sashpos(0), int))
-class RadiobuttonTest(unittest.TestCase): pass
+class RadiobuttonTest(unittest.TestCase):
+
+ def test_invoke(self):
+ success = []
+ def cb_test():
+ success.append(1)
+ return "cb test called"
+
+ myvar = tkinter.IntVar()
+ cbtn = ttk.Radiobutton(command=cb_test, variable=myvar, value=0)
+ cbtn2 = ttk.Radiobutton(command=cb_test, variable=myvar, value=1)
+
+ res = cbtn.invoke()
+ self.failUnlessEqual(res, "cb test called")
+ self.failUnlessEqual(cbtn['value'], myvar.get())
+ self.failUnlessEqual(myvar.get(),
+ cbtn.tk.globalgetvar(cbtn['variable']))
+ self.failUnless(success)
+
+ cbtn2['command'] = ''
+ res = cbtn2.invoke()
+ self.failUnlessEqual(res, '')
+ self.failIf(len(success) > 1)
+ self.failUnlessEqual(cbtn2['value'], myvar.get())
+ self.failUnlessEqual(myvar.get(),
+ cbtn.tk.globalgetvar(cbtn['variable']))
+
+ self.failUnlessEqual(str(cbtn['variable']), str(cbtn2['variable']))
+
class ScaleTest(unittest.TestCase):
@@ -474,7 +517,7 @@
def test_main():
- support.run(WidgetTest, ButtonTest, #CheckbuttonTest, RadiobuttonTest,
+ support.run(WidgetTest, ButtonTest, CheckbuttonTest, RadiobuttonTest,
ComboboxTest, EntryTest, PanedwindowTest, ScaleTest)
if __name__ == "__main__":
More information about the Python-checkins
mailing list