5 from test
import test_support
7 # Skip this test if the _tkinter module wasn't built.
8 _tkinter
= test_support
.import_module('_tkinter')
10 from Tkinter
import Tcl
11 from _tkinter
import TclError
14 class TkinterTest(unittest
.TestCase
):
16 def testFlattenLen(self
):
17 # flatten(<object with no length>)
18 self
.assertRaises(TypeError, _tkinter
._flatten
, True)
21 class TclTest(unittest
.TestCase
):
29 self
.assertEqual(tcl
.eval('set a'),'1')
31 def testEvalException(self
):
33 self
.assertRaises(TclError
,tcl
.eval,'set a')
35 def testEvalException2(self
):
37 self
.assertRaises(TclError
,tcl
.eval,'this is wrong')
41 tcl
.call('set','a','1')
42 self
.assertEqual(tcl
.call('set','a'),'1')
44 def testCallException(self
):
46 self
.assertRaises(TclError
,tcl
.call
,'set','a')
48 def testCallException2(self
):
50 self
.assertRaises(TclError
,tcl
.call
,'this','is','wrong')
55 self
.assertEqual(tcl
.eval('set a'),'1')
57 def testSetVarArray(self
):
59 tcl
.setvar('a(1)','1')
60 self
.assertEqual(tcl
.eval('set a(1)'),'1')
65 self
.assertEqual(tcl
.getvar('a'),'1')
67 def testGetVarArray(self
):
69 tcl
.eval('set a(1) 1')
70 self
.assertEqual(tcl
.getvar('a(1)'),'1')
72 def testGetVarException(self
):
74 self
.assertRaises(TclError
,tcl
.getvar
,'a')
76 def testGetVarArrayException(self
):
78 self
.assertRaises(TclError
,tcl
.getvar
,'a(1)')
80 def testUnsetVar(self
):
83 self
.assertEqual(tcl
.eval('info exists a'),'1')
85 self
.assertEqual(tcl
.eval('info exists a'),'0')
87 def testUnsetVarArray(self
):
91 self
.assertEqual(tcl
.eval('info exists a(1)'),'1')
92 self
.assertEqual(tcl
.eval('info exists a(2)'),'1')
94 self
.assertEqual(tcl
.eval('info exists a(1)'),'0')
95 self
.assertEqual(tcl
.eval('info exists a(2)'),'1')
97 def testUnsetVarException(self
):
99 self
.assertRaises(TclError
,tcl
.unsetvar
,'a')
101 def testEvalFile(self
):
103 filename
= "testEvalFile.tcl"
104 fd
= open(filename
,'w')
107 set c [ expr $a + $b ]
111 tcl
.evalfile(filename
)
113 self
.assertEqual(tcl
.eval('set a'),'1')
114 self
.assertEqual(tcl
.eval('set b'),'2')
115 self
.assertEqual(tcl
.eval('set c'),'3')
117 def testEvalFileException(self
):
119 filename
= "doesnotexists"
124 self
.assertRaises(TclError
,tcl
.evalfile
,filename
)
126 def testPackageRequireException(self
):
128 self
.assertRaises(TclError
,tcl
.eval,'package require DNE')
132 test_support
.run_unittest(TclTest
, TkinterTest
)
134 if __name__
== "__main__":