summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_tkinter/test_loadtk.py
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2022-06-22 20:23:37 (GMT)
committerGitHub <noreply@github.com>2022-06-22 20:23:37 (GMT)
commitc1fb12e5afa09aca3134a9bc0116c31dbcccc5e9 (patch)
tree0e730c9d6f9275d2870910a28be48d0bc3a5d9af /Lib/test/test_tkinter/test_loadtk.py
parent47e35625ff2c4e6511a12e7178c3e4fbc965b634 (diff)
downloadcpython-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.py46
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()