diff options
author | Victor Stinner <vstinner@python.org> | 2022-06-22 22:23:37 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-22 22:23:37 +0200 |
commit | c1fb12e5afa09aca3134a9bc0116c31dbcccc5e9 (patch) | |
tree | 0e730c9d6f9275d2870910a28be48d0bc3a5d9af /Lib/tkinter/test/support.py | |
parent | 47e35625ff2c4e6511a12e7178c3e4fbc965b634 (diff) | |
download | cpython-git-c1fb12e5afa09aca3134a9bc0116c31dbcccc5e9.tar.gz |
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/tkinter/test/support.py')
-rw-r--r-- | Lib/tkinter/test/support.py | 135 |
1 files changed, 0 insertions, 135 deletions
diff --git a/Lib/tkinter/test/support.py b/Lib/tkinter/test/support.py deleted file mode 100644 index 9154ebac5c..0000000000 --- a/Lib/tkinter/test/support.py +++ /dev/null @@ -1,135 +0,0 @@ -import functools -import tkinter -import unittest - -class AbstractTkTest: - - @classmethod - def setUpClass(cls): - cls._old_support_default_root = tkinter._support_default_root - destroy_default_root() - tkinter.NoDefaultRoot() - cls.root = tkinter.Tk() - cls.wantobjects = cls.root.wantobjects() - # De-maximize main window. - # Some window managers can maximize new windows. - cls.root.wm_state('normal') - try: - cls.root.wm_attributes('-zoomed', False) - except tkinter.TclError: - pass - - @classmethod - def tearDownClass(cls): - cls.root.update_idletasks() - cls.root.destroy() - del cls.root - tkinter._default_root = None - tkinter._support_default_root = cls._old_support_default_root - - def setUp(self): - self.root.deiconify() - - def tearDown(self): - for w in self.root.winfo_children(): - w.destroy() - self.root.withdraw() - - -class AbstractDefaultRootTest: - - def setUp(self): - self._old_support_default_root = tkinter._support_default_root - destroy_default_root() - tkinter._support_default_root = True - self.wantobjects = tkinter.wantobjects - - def tearDown(self): - destroy_default_root() - tkinter._default_root = None - tkinter._support_default_root = self._old_support_default_root - - def _test_widget(self, constructor): - # no master passing - x = constructor() - self.assertIsNotNone(tkinter._default_root) - self.assertIs(x.master, tkinter._default_root) - self.assertIs(x.tk, tkinter._default_root.tk) - x.destroy() - destroy_default_root() - tkinter.NoDefaultRoot() - self.assertRaises(RuntimeError, constructor) - self.assertFalse(hasattr(tkinter, '_default_root')) - - -def destroy_default_root(): - if getattr(tkinter, '_default_root', None): - tkinter._default_root.update_idletasks() - tkinter._default_root.destroy() - tkinter._default_root = None - -def simulate_mouse_click(widget, x, y): - """Generate proper events to click at the x, y position (tries to act - like an X server).""" - widget.event_generate('<Enter>', x=0, y=0) - widget.event_generate('<Motion>', x=x, y=y) - widget.event_generate('<ButtonPress-1>', x=x, y=y) - widget.event_generate('<ButtonRelease-1>', x=x, y=y) - - -import _tkinter -tcl_version = tuple(map(int, _tkinter.TCL_VERSION.split('.'))) - -def requires_tcl(*version): - if len(version) <= 2: - return unittest.skipUnless(tcl_version >= version, - 'requires Tcl version >= ' + '.'.join(map(str, version))) - - def deco(test): - @functools.wraps(test) - def newtest(self): - if get_tk_patchlevel() < version: - self.skipTest('requires Tcl version >= ' + - '.'.join(map(str, version))) - test(self) - return newtest - return deco - -_tk_patchlevel = None -def get_tk_patchlevel(): - global _tk_patchlevel - if _tk_patchlevel is None: - tcl = tkinter.Tcl() - _tk_patchlevel = tcl.info_patchlevel() - return _tk_patchlevel - -units = { - 'c': 72 / 2.54, # centimeters - 'i': 72, # inches - 'm': 72 / 25.4, # millimeters - 'p': 1, # points -} - -def pixels_conv(value): - return float(value[:-1]) * units[value[-1:]] - -def tcl_obj_eq(actual, expected): - if actual == expected: - return True - if isinstance(actual, _tkinter.Tcl_Obj): - if isinstance(expected, str): - return str(actual) == expected - if isinstance(actual, tuple): - if isinstance(expected, tuple): - return (len(actual) == len(expected) and - all(tcl_obj_eq(act, exp) - for act, exp in zip(actual, expected))) - return False - -def widget_eq(actual, expected): - if actual == expected: - return True - if isinstance(actual, (str, tkinter.Widget)): - if isinstance(expected, (str, tkinter.Widget)): - return str(actual) == str(expected) - return False |