Skip to content

Commit

Permalink
PyQt6: Testing
Browse files Browse the repository at this point in the history
  • Loading branch information
dalthviz committed Nov 3, 2021
1 parent e32bff8 commit 03563f5
Show file tree
Hide file tree
Showing 5 changed files with 83 additions and 38 deletions.
38 changes: 2 additions & 36 deletions qtpy/QtCore.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,43 +21,9 @@
QCoreApplication.exec_ = QCoreApplication.exec
QEventLoop.exec_ = QEventLoop.exec
QThread.exec_ = QThread.exec
from .enums_compat import promote_specific_enums, promote_enums
ENUM_CLASSES_LIST = [
'AlignmentFlag', 'AnchorPoint', 'ApplicationAttribute',
'ApplicationState', 'ArrowType', 'AspectRatioMode','Axis',
'BGMode', 'BrushStyle',
'CaseSensitivity', 'CheckState', 'ChecksumType', 'ClipOperation',
'ConnectionType', 'ContextMenuPolicy', 'CoordinateSystem',
'Corner', 'CursorMoveStyle', 'CursorShape',
'DateFormat', 'DayOfWeek', 'DockWidgetArea', 'DropAction',
'Edge', 'EnterKeyType', 'EventPriority',
'FillRule', 'FindChildOption', 'FocusPolicy', 'FocusReason',
'GestureFlag', 'GestureState', 'GestureType',
'HighDpiScaleFactorRoundingPolicy', 'HitTestAccuracy',
'ImageConversionFlag', 'InputMethodHint', 'InputMethodQuery',
'ItemDataRole', 'ItemFlag', 'ItemSelectionMode',
'ItemSelectionOperation',
'Key', 'KeyboardModifier',
'LayoutDirection',
'MaskMode', 'MatchFlag', 'Modifier', 'MouseButton',
'MouseEventFlag', 'MouseEventSource',
'NativeGestureType', 'NavigationMode',
'Orientation', 'PenCapStyle', 'PenJoinStyle', 'PenStyle',
# 'ReturnByValueConstant',
'ScreenOrientation', 'ScrollBarPolicy', 'ScrollPhase',
'ShortcutContext', 'SizeHint', 'SizeMode', 'SortOrder',
# 'SplitBehaviorFlags',
'TabFocusBehavior', 'TextElideMode', 'TextFlag', 'TextFormat',
'TextInteractionFlag', 'TileRule', 'TimeSpec', 'TimerType',
'ToolBarArea', 'ToolButtonStyle', 'TouchPointState',
'TransformationMode',
'UIEffect',
'WhiteSpaceMode', 'WidgetAttribute', 'WindowFrameSection',
'WindowModality', 'WindowState', 'WindowType'
]

from .enums_compat import promote_enums
promote_enums(QtCore)
# promote_specific_enums(Qt, ENUM_CLASSES_LIST, lambda value: value[0].isupper())
# promote_specific_enums(Qt, ['GlobalColor'], lambda value: value[0] != '-')

elif PYQT5:
from PyQt5.QtCore import *
Expand Down
4 changes: 2 additions & 2 deletions qtpy/QtWidgets.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,13 @@
from PyQt6.QtOpenGLWidgets import QOpenGLWidget
QTextEdit.setTabStopWidth = QTextEdit.setTabStopDistance
QTextEdit.tabStopWidth = QTextEdit.tabStopDistance
QTextEdit.print_ = QTextEdit.print
QPlainTextEdit.setTabStopWidth = QPlainTextEdit.setTabStopDistance
QPlainTextEdit.tabStopWidth = QPlainTextEdit.tabStopDistance
QPlainTextEdit.print_ = QPlainTextEdit.print
QApplication.exec_ = QApplication.exec
QDialog.exec_ = QDialog.exec
QMenu.exec_ = QMenu.exec
QTextEdit.print_ = QTextEdit.print
QPlainTextEdit.print_ = QPlainTextEdit.print
from .enums_compat import promote_enums
promote_enums(QtWidgets)
elif PYQT5:
Expand Down
11 changes: 11 additions & 0 deletions qtpy/tests/test_qtcore.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,14 @@ class ClassWithSignal(QtCore.QObject):
instance = ClassWithSignal()

assert isinstance(instance.signal, QtCore.SignalInstance)

def test_enum_access():
"""
Test scoped and unscoped enum access for qtpy.QtCore.*.
"""
assert QtCore.QAbstractAnimation.Stopped == QtCore.QAbstractAnimation.State.Stopped
assert QtCore.QEvent.ActionAdded == QtCore.QEvent.Type.ActionAdded
assert QtCore.Qt.AlignLeft == QtCore.Qt.AlignmentFlag.AlignLeft
assert QtCore.Qt.Key_Return == QtCore.Qt.Key.Key_Return
assert QtCore.Qt.transparent == QtCore.Qt.GlobalColor.transparent
assert QtCore.Qt.Widget == QtCore.Qt.WindowType.Widget
28 changes: 28 additions & 0 deletions qtpy/tests/test_qtgui.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
"""Test QtGui."""
from qtpy import QtGui


def test_qdrag_functions():
"""Test functions mapping for QtGui.QDrag."""
assert QtGui.QDrag.exec_


def test_qguiapplication_functions():
"""Test functions mapping for QtGui.QGuiApplication."""
assert QtGui.QGuiApplication.exec_


def test_qtextdocument_functions():
"""Test functions mapping for QtGui.QTextDocument."""
assert QtGui.QTextDocument.print_


def test_enum_access():
"""
Test scoped and unscoped enum access for qtpy.QtWidgets.*.
"""
assert QtGui.QColor.Rgb == QtGui.QColor.Spec.Rgb
assert QtGui.QFont.AllUppercase == QtGui.QFont.Capitalization.AllUppercase
assert QtGui.QIcon.Normal == QtGui.QIcon.Mode.Normal
assert QtGui.QImage.Format_Invalid == QtGui.QImage.Format.Format_Invalid

40 changes: 40 additions & 0 deletions qtpy/tests/test_qtwidgets.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
"""Test QtWidgets."""
from qtpy import QtWidgets


def test_qtextedit_functions():
"""Test functions mapping for QtWidgets.QTextEdit."""
assert QtWidgets.QTextEdit.setTabStopWidth
assert QtWidgets.QTextEdit.tabStopWidth
assert QtWidgets.QTextEdit.print_


def test_qplaintextedit_functions():
"""Test functions mapping for QtWidgets.QPlainTextEdit."""
assert QtWidgets.QPlainTextEdit.setTabStopWidth
assert QtWidgets.QPlainTextEdit.tabStopWidth
assert QtWidgets.QPlainTextEdit.print_


def test_qapplication_functions():
"""Test functions mapping for QtWidgets.QApplication."""
assert QtWidgets.QApplication.exec_


def test_qdialog_functions():
"""Test functions mapping for QtWidgets.QDialog."""
assert QtWidgets.QDialog.exec_


def test_qmenu_functions():
"""Test functions mapping for QtWidgets.QDialog."""
assert QtWidgets.QMenu.exec_


def test_enum_access():
"""
Test scoped and unscoped enum access for qtpy.QtWidgets.*.
"""
assert QtWidgets.QFileDialog.AcceptOpen == QtWidgets.QFileDialog.AcceptMode.AcceptOpen
assert QtWidgets.QMessageBox.InvalidRole == QtWidgets.QMessageBox.ButtonRole.InvalidRole
assert QtWidgets.QStyle.State_None == QtWidgets.QStyle.StateFlag.State_None

0 comments on commit 03563f5

Please sign in to comment.