import functools import re 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('', x=0, y=0) widget.event_generate('', x=x, y=y) widget.event_generate('', x=x, y=y) widget.event_generate('', 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 me='id' value='ea41ba11fc848dbefecb0cde324478ab1986e555'/>
context:
space:
mode:
authorDavid Boddie <david.boddie@nokia.com>2010-12-21 17:38:04 (GMT)
committerDavid Boddie <david.boddie@nokia.com>2010-12-21 17:38:04 (GMT)
commitea41ba11fc848dbefecb0cde324478ab1986e555 (patch)
treea2a4dd1786ad4e3f0ffbfcb20ad3f964815e3049 /tests/auto/qabstractprintdialog/qabstractprintdialog.pro
parent9862f29b3c8d3f23113388b48b1c4b86523137dc (diff)
downloadQt-ea41ba11fc848dbefecb0cde324478ab1986e555.zip
Qt-ea41ba11fc848dbefecb0cde324478ab1986e555.tar.gz
Qt-ea41ba11fc848dbefecb0cde324478ab1986e555.tar.bz2
Enabled error reporting and a plain text fallback for invalid QML.
The location of places where code is included in documentation is now passed into each code marker when highlighted code is needed.
Diffstat (limited to 'tests/auto/qabstractprintdialog/qabstractprintdialog.pro')