diff options
author | Guilherme Polo <ggpolo@gmail.com> | 2009-06-21 17:22:50 (GMT) |
---|---|---|
committer | Guilherme Polo <ggpolo@gmail.com> | 2009-06-21 17:22:50 (GMT) |
commit | 7f146ab0ca5443a54f575b24965106a0e967a9dc (patch) | |
tree | 9c340687e543862511e5a7e65b291f8311feded0 /Lib/lib-tk | |
parent | 439bf93f8cf8c3c24fc8d5d2f6438ca7adb72d0d (diff) | |
download | cpython-7f146ab0ca5443a54f575b24965106a0e967a9dc.zip cpython-7f146ab0ca5443a54f575b24965106a0e967a9dc.tar.gz cpython-7f146ab0ca5443a54f575b24965106a0e967a9dc.tar.bz2 |
Issue #5450: Moved tests involving loading tk from Lib/test/test_tcl to
Lib/lib-tk/test/test_tkinter/test_loadtk in order to follow the behaviour of
test_ttkguionly.
Diffstat (limited to 'Lib/lib-tk')
-rw-r--r-- | Lib/lib-tk/test/test_tkinter/test_loadtk.py | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/Lib/lib-tk/test/test_tkinter/test_loadtk.py b/Lib/lib-tk/test/test_tkinter/test_loadtk.py new file mode 100644 index 0000000..32c640d --- /dev/null +++ b/Lib/lib-tk/test/test_tkinter/test_loadtk.py @@ -0,0 +1,45 @@ +import os +import sys +import unittest +from test import test_support +from Tkinter import Tcl, TclError + +test_support.requires('gui') + +class TkLoadTest(unittest.TestCase): + + @unittest.skipIf('DISPLAY' not in os.environ, 'No $DISPLAY set.') + def testLoadTk(self): + tcl = Tcl() + self.assertRaises(TclError,tcl.winfo_geometry) + tcl.loadtk() + self.assertEqual('1x1+0+0', tcl.winfo_geometry()) + tcl.destroy() + + def testLoadTkFailure(self): + old_display = None + if sys.platform.startswith(('win', 'darwin', 'cygwin')): + # no failure possible on windows? + + # XXX Maybe on tk older than 8.4.13 it would be possible, + # see tkinter.h. + return + with test_support.EnvironmentVarGuard() as env: + if 'DISPLAY' in os.environ: + del env['DISPLAY'] + # on some platforms, deleting environment variables + # doesn't actually carry through to the process level + # because they don't support unsetenv + # If that's the case, abort. + display = os.popen('echo $DISPLAY').read().strip() + if display: + return + + tcl = Tcl() + self.assertRaises(TclError, tcl.winfo_geometry) + self.assertRaises(TclError, tcl.loadtk) + +tests_gui = (TkLoadTest, ) + +if __name__ == "__main__": + test_support.run_unittest(*tests_gui) |