From 0d01e108f1de0432e4490dc589e551ca1b9a189f Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Wed, 15 Jun 2022 20:37:19 +0200 Subject: [PATCH] Improve test coverage --- tests/test_gui/test_gui_noveltree.py | 40 +++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/tests/test_gui/test_gui_noveltree.py b/tests/test_gui/test_gui_noveltree.py index 93a10b92..f8f18875 100644 --- a/tests/test_gui/test_gui_noveltree.py +++ b/tests/test_gui/test_gui_noveltree.py @@ -24,8 +24,9 @@ import pytest from tools import buildTestProject, writeFile -from PyQt5.QtCore import Qt -from PyQt5.QtWidgets import QMessageBox +from PyQt5.QtGui import QFocusEvent +from PyQt5.QtCore import Qt, QEvent +from PyQt5.QtWidgets import QMessageBox, QToolTip from novelwriter.enum import nwWidget, nwItemType from novelwriter.dialogs import GuiEditLabel @@ -53,8 +54,12 @@ def testGuiNovelTree_TreeItems(qtbot, monkeypatch, nwGUI, fncProj, mockRnd): "# Jane Doe\n\n@tag: Jane\n\n" ) writeFile( - os.path.join(nwGUI.theProject.projContent, "000000000000f.nwd"), - "### Scene One\n\n@pov: Jane\n@focus: Jane\n\n" + os.path.join(nwGUI.theProject.projContent, "000000000000f.nwd"), ( + "### Scene One\n\n" + "@pov: Jane\n" + "@focus: Jane\n\n" + "% Synopsis: This is a scene." + ) ) novelView = nwGUI.novelView @@ -165,6 +170,33 @@ def testGuiNovelTree_TreeItems(qtbot, monkeypatch, nwGUI, fncProj, mockRnd): novelTree._lastCol = None assert novelTree._getLastColumnText("0000000000000", "T000000") == ("", "") + # Item Meta + # ========= + + ttText = "" + + def showText(pos, text): + nonlocal ttText + ttText = text + + mIndex = novelTree.model().index(2, novelTree.C_MORE) + with monkeypatch.context() as mp: + mp.setattr(QToolTip, "showText", showText) + novelTree._treeItemClicked(mIndex) + assert ttText == ( + "

Point of View: Jane
Focus: Jane

" + "

Synopsis: This is a scene.

" + ) + + # Other Checks + # ============ + + scItem = novelTree.topLevelItem(2) + scItem.setSelected(True) + assert scItem.isSelected() + novelTree.focusOutEvent(QFocusEvent(QEvent.None_, Qt.MouseFocusReason)) + assert not scItem.isSelected() + # Close # =====