From 287d564d7d93296712633a354294df735e91f689 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dennis=20G=C3=B6ries?= <43136580+dgoeries@users.noreply.github.com> Date: Tue, 13 Oct 2020 18:06:34 +0200 Subject: [PATCH] GraphicsView: Add basic tests ... (#1396) --- pyqtgraph/widgets/tests/test_graphics_view.py | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 pyqtgraph/widgets/tests/test_graphics_view.py diff --git a/pyqtgraph/widgets/tests/test_graphics_view.py b/pyqtgraph/widgets/tests/test_graphics_view.py new file mode 100644 index 00000000..2f797dad --- /dev/null +++ b/pyqtgraph/widgets/tests/test_graphics_view.py @@ -0,0 +1,90 @@ +from pyqtgraph.Qt import QtCore +from pyqtgraph.Qt import QtGui +import pyqtgraph as pg + + +def test_basics_graphics_view(): + app = pg.mkQApp() + view = pg.GraphicsView() + background_role = view.backgroundRole() + assert background_role == QtGui.QPalette.Background + + palette = view.palette() + assert palette.isBrushSet(QtGui.QPalette.Active, QtGui.QPalette.Background) + assert palette.color(QtGui.QPalette.Background) == QtCore.Qt.transparent + assert view.backgroundBrush().color() == QtGui.QColor(0, 0, 0, 255) + + assert view.focusPolicy() == QtCore.Qt.StrongFocus + assert view.transformationAnchor() == QtGui.QGraphicsView.NoAnchor + minimal_update = QtGui.QGraphicsView.MinimalViewportUpdate + assert view.viewportUpdateMode() == minimal_update + assert view.frameShape() == QtGui.QFrame.NoFrame + assert view.hasMouseTracking() is True + + # Default properties + # -------------------------------------- + + assert view.mouseEnabled is False + assert view.aspectLocked is False + assert view.autoPixelRange is True + assert view.scaleCenter is False + assert view.clickAccepted is False + assert view.centralWidget is not None + assert view._background == "default" + + # Set background color + # -------------------------------------- + view.setBackground("w") + assert view._background == "w" + palette = view.palette() + assert palette.isBrushSet(QtGui.QPalette.Active, QtGui.QPalette.Background) + assert palette.color(QtGui.QPalette.Background) == QtCore.Qt.transparent + assert view.backgroundBrush().color() == QtCore.Qt.white + + # Set anti aliasing + # -------------------------------------- + aliasing = QtGui.QPainter.Antialiasing + # Default is set to `False` + assert not view.renderHints() & aliasing == aliasing + view.setAntialiasing(True) + assert view.renderHints() & aliasing == aliasing + view.setAntialiasing(False) + assert not view.renderHints() & aliasing == aliasing + + # Enable mouse + # -------------------------------------- + view.enableMouse(True) + assert view.mouseEnabled is True + assert view.autoPixelRange is False + view.enableMouse(False) + assert view.mouseEnabled is False + assert view.autoPixelRange is True + + # Add and remove item + # -------------------------------------- + central_item = QtGui.QGraphicsWidget() + view.setCentralItem(central_item) + assert view.centralWidget is central_item + # XXX: Removal of central item is not clear in code + scene = view.sceneObj + assert isinstance(scene, pg.GraphicsScene) + assert central_item in scene.items() + + item = QtGui.QGraphicsWidget() + assert item not in scene.items() + view.addItem(item) + assert item in scene.items() + view.removeItem(item) + assert item not in scene.items() + + # Close the graphics view + # -------------------------------------- + + view.close() + assert view.centralWidget is None + assert view.currentItem is None + assert view.sceneObj is None + assert view.closed is True + + del view + app.deleteLater()