Add test coverage of new modified widget

This commit is contained in:
Veronica Berglyd Olsen
2025-03-30 22:59:51 +02:00
parent bf4a923b08
commit 8ef99c4cfa
+29 -3
View File
@@ -23,13 +23,13 @@ from __future__ import annotations
import pytest
from PyQt6.QtCore import QEvent, QPoint, QPointF, Qt
from PyQt6.QtGui import QKeyEvent, QMouseEvent, QWheelEvent
from PyQt6.QtGui import QKeyEvent, QMouseEvent, QStandardItem, QStandardItemModel, QWheelEvent
from PyQt6.QtWidgets import QWidget
from novelwriter.extensions.modified import (
NClickableLabel, NComboBox, NDialog, NDoubleSpinBox, NSpinBox
NClickableLabel, NComboBox, NDialog, NDoubleSpinBox, NSpinBox, NTreeView
)
from novelwriter.types import QtModNone, QtMouseLeft, QtRejected
from novelwriter.types import QtModNone, QtMouseLeft, QtMouseMiddle, QtRejected
from tests.tools import SimpleDialog
@@ -66,6 +66,32 @@ def testExtModified_NDialog(qtbot, monkeypatch):
assert dialog.result() == QtRejected
@pytest.mark.gui
def testExtModified_NTreeView(qtbot, monkeypatch):
"""Test the NTreeView class."""
model = QStandardItemModel(1, 1)
model.insertRow(0, QStandardItem("Hello World"))
widget = NTreeView()
widget.setModel(model)
dialog = SimpleDialog(widget)
dialog.show()
vPort = widget.viewport()
item = model.item(0, 0)
assert vPort is not None
assert item is not None
position = QPointF(widget.visualRect(model.createIndex(0, 0)).center())
event = QMouseEvent(
QEvent.Type.MouseButtonPress, position, QtMouseMiddle, QtMouseMiddle, QtModNone
)
with qtbot.waitSignal(widget.middleClicked):
widget.mousePressEvent(event)
# qtbot.stop()
@pytest.mark.gui
def testExtModified_NComboBox(qtbot, monkeypatch):
"""Test the NComboBox class."""