annotate Lib/tkinter/test/test_tkinter/test_loadtk.py @ 78069:a8aa77458e12 3.2

Add c_size_t and c_ssize_t to the ctypes summary table.
author Antoine Pitrou <solipsis@pitrou.net>
date Thu, 12 Jul 2012 20:31:50 +0200
parents ba16ff86d4f6
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
54806
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
1 import os
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
2 import sys
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
3 import unittest
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
4 import test.support as test_support
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
5 from tkinter import Tcl, TclError
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
6
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
7 test_support.requires('gui')
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
8
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
9 class TkLoadTest(unittest.TestCase):
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
10
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
11 @unittest.skipIf('DISPLAY' not in os.environ, 'No $DISPLAY set.')
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
12 def testLoadTk(self):
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
13 tcl = Tcl()
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
14 self.assertRaises(TclError,tcl.winfo_geometry)
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
15 tcl.loadtk()
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
16 self.assertEqual('1x1+0+0', tcl.winfo_geometry())
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
17 tcl.destroy()
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
18
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
19 def testLoadTkFailure(self):
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
20 old_display = None
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
21 if sys.platform.startswith(('win', 'darwin', 'cygwin')):
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
22 # no failure possible on windows?
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
23
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
24 # XXX Maybe on tk older than 8.4.13 it would be possible,
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
25 # see tkinter.h.
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
26 return
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
27 with test_support.EnvironmentVarGuard() as env:
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
28 if 'DISPLAY' in os.environ:
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
29 del env['DISPLAY']
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
30 # on some platforms, deleting environment variables
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
31 # doesn't actually carry through to the process level
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
32 # because they don't support unsetenv
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
33 # If that's the case, abort.
67297
ba16ff86d4f6 test_tkinter: use a context manager to close directly the pipe
Victor Stinner <victor.stinner@haypocalc.com>
parents: 54806
diff changeset
34 with os.popen('echo $DISPLAY') as pipe:
ba16ff86d4f6 test_tkinter: use a context manager to close directly the pipe
Victor Stinner <victor.stinner@haypocalc.com>
parents: 54806
diff changeset
35 display = pipe.read().strip()
54806
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
36 if display:
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
37 return
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
38
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
39 tcl = Tcl()
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
40 self.assertRaises(TclError, tcl.winfo_geometry)
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
41 self.assertRaises(TclError, tcl.loadtk)
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
42
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
43 tests_gui = (TkLoadTest, )
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
44
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
45 if __name__ == "__main__":
a950a4434f8b Merged revisions 73495 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
diff changeset
46 test_support.run_unittest(*tests_gui)