diff options
author | Victor Stinner <vstinner@python.org> | 2022-06-22 20:23:37 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-22 20:23:37 (GMT) |
commit | c1fb12e5afa09aca3134a9bc0116c31dbcccc5e9 (patch) | |
tree | 0e730c9d6f9275d2870910a28be48d0bc3a5d9af /Lib/test/test_tkinter/test_loadtk.py | |
parent | 47e35625ff2c4e6511a12e7178c3e4fbc965b634 (diff) | |
download | cpython-c1fb12e5afa09aca3134a9bc0116c31dbcccc5e9.zip cpython-c1fb12e5afa09aca3134a9bc0116c31dbcccc5e9.tar.gz cpython-c1fb12e5afa09aca3134a9bc0116c31dbcccc5e9.tar.bz2 |
gh-54781: Move Lib/tkinter/test/test_ttk/ to Lib/test/test_ttk/ (#94070)
* Move Lib/tkinter/test/test_tkinter/ to Lib/test/test_tkinter/.
* Move Lib/tkinter/test/test_ttk/ to Lib/test/test_ttk/.
* Add Lib/test/test_ttk/__init__.py based on test_ttk_guionly.py.
* Add Lib/test/test_tkinter/__init__.py
* Remove old Lib/test/test_tk.py.
* Remove old Lib/test/test_ttk_guionly.py.
* Add __main__ sub-modules.
* Update imports and update references to rename files.
Diffstat (limited to 'Lib/test/test_tkinter/test_loadtk.py')
-rw-r--r-- | Lib/test/test_tkinter/test_loadtk.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/Lib/test/test_tkinter/test_loadtk.py b/Lib/test/test_tkinter/test_loadtk.py new file mode 100644 index 0000000..61b0eda --- /dev/null +++ b/Lib/test/test_tkinter/test_loadtk.py @@ -0,0 +1,46 @@ +import os +import sys +import unittest +import test.support as test_support +from test.support import os_helper +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 os_helper.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. + with os.popen('echo $DISPLAY') as pipe: + display = pipe.read().strip() + if display: + return + + tcl = Tcl() + self.assertRaises(TclError, tcl.winfo_geometry) + self.assertRaises(TclError, tcl.loadtk) + + +if __name__ == "__main__": + unittest.main() |