Mercurial > cpython-lru_cache-weakref
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 |
| 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) |
