Let the shared class handle alert dialogs
This commit is contained in:
@@ -31,31 +31,13 @@ class MockGuiMain(QWidget):
|
||||
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
|
||||
self.mainStatus = MockStatusBar()
|
||||
self.projPath = ""
|
||||
|
||||
# Test Variables
|
||||
self.askResponse = True
|
||||
self.lastAlert = ""
|
||||
self.lastQuestion = ""
|
||||
|
||||
return
|
||||
|
||||
def postLaunchTasks(self, cmdOpen):
|
||||
return
|
||||
|
||||
def makeAlert(self, text, info="", detals="", level=0, exc=None):
|
||||
assert isinstance(text, str)
|
||||
print("%s: %s" % (str(level), text))
|
||||
self.lastAlert = str(text)
|
||||
return
|
||||
|
||||
def askQuestion(self, text, info="", details="", level=3):
|
||||
print("Question: %s" % text)
|
||||
self.lastQuestion = text
|
||||
return self.askResponse
|
||||
|
||||
def setStatus(self, theMessage):
|
||||
return
|
||||
|
||||
@@ -72,16 +54,6 @@ class MockGuiMain(QWidget):
|
||||
def close(self):
|
||||
return "close"
|
||||
|
||||
# Test Functions
|
||||
|
||||
def undo(self):
|
||||
self.askResponse = True
|
||||
return
|
||||
|
||||
def clear(self):
|
||||
self.lastAlert = ""
|
||||
return
|
||||
|
||||
# END Class MockGuiMain
|
||||
|
||||
|
||||
|
||||
@@ -410,7 +410,7 @@ def testCoreTools_NewMinimal(monkeypatch, fncPath, tstPaths, mockGUI, mockRnd):
|
||||
testFile = tstPaths.outDir / "coreTools_NewMinimal_nwProject.nwx"
|
||||
compFile = tstPaths.refDir / "coreTools_NewMinimal_nwProject.nwx"
|
||||
|
||||
projBuild = ProjectBuilder(mockGUI)
|
||||
projBuild = ProjectBuilder()
|
||||
|
||||
# Setting no data should fail
|
||||
assert projBuild.buildProject({}) is False
|
||||
@@ -432,7 +432,7 @@ def testCoreTools_NewMinimal(monkeypatch, fncPath, tstPaths, mockGUI, mockRnd):
|
||||
|
||||
|
||||
@pytest.mark.core
|
||||
def testCoreTools_NewCustomA(monkeypatch, fncPath, tstPaths, mockGUI, mockRnd):
|
||||
def testCoreTools_NewCustomA(monkeypatch, fncPath, tstPaths, mockRnd):
|
||||
"""Create a new project from a project wizard dictionary.
|
||||
Custom type with chapters and scenes.
|
||||
"""
|
||||
@@ -460,7 +460,7 @@ def testCoreTools_NewCustomA(monkeypatch, fncPath, tstPaths, mockGUI, mockRnd):
|
||||
"numScenes": 3,
|
||||
}
|
||||
|
||||
projBuild = ProjectBuilder(mockGUI)
|
||||
projBuild = ProjectBuilder()
|
||||
assert projBuild.buildProject(projData) is True
|
||||
|
||||
copyfile(projFile, testFile)
|
||||
@@ -470,7 +470,7 @@ def testCoreTools_NewCustomA(monkeypatch, fncPath, tstPaths, mockGUI, mockRnd):
|
||||
|
||||
|
||||
@pytest.mark.core
|
||||
def testCoreTools_NewCustomB(monkeypatch, fncPath, tstPaths, mockGUI, mockRnd):
|
||||
def testCoreTools_NewCustomB(monkeypatch, fncPath, tstPaths, mockRnd):
|
||||
"""Create a new project from a project wizard dictionary.
|
||||
Custom type without chapters, but with scenes.
|
||||
"""
|
||||
@@ -498,7 +498,7 @@ def testCoreTools_NewCustomB(monkeypatch, fncPath, tstPaths, mockGUI, mockRnd):
|
||||
"numScenes": 6,
|
||||
}
|
||||
|
||||
projBuild = ProjectBuilder(mockGUI)
|
||||
projBuild = ProjectBuilder()
|
||||
assert projBuild.buildProject(projData) is True
|
||||
|
||||
copyfile(projFile, testFile)
|
||||
@@ -508,7 +508,7 @@ def testCoreTools_NewCustomB(monkeypatch, fncPath, tstPaths, mockGUI, mockRnd):
|
||||
|
||||
|
||||
@pytest.mark.core
|
||||
def testCoreTools_NewSample(monkeypatch, fncPath, tstPaths, mockGUI):
|
||||
def testCoreTools_NewSample(monkeypatch, fncPath, tstPaths):
|
||||
"""Check that we can create a new project can be created from the
|
||||
provided sample project via a zip file.
|
||||
"""
|
||||
@@ -522,7 +522,7 @@ def testCoreTools_NewSample(monkeypatch, fncPath, tstPaths, mockGUI):
|
||||
"popCustom": False,
|
||||
}
|
||||
|
||||
projBuild = ProjectBuilder(mockGUI)
|
||||
projBuild = ProjectBuilder()
|
||||
|
||||
# No path set
|
||||
assert projBuild.buildProject({"popSample": True}) is False
|
||||
|
||||
@@ -27,7 +27,7 @@ from PyQt5.QtWidgets import QAction, QFileDialog, QMessageBox
|
||||
|
||||
from tools import C, writeFile, buildTestProject
|
||||
|
||||
from novelwriter import CONFIG
|
||||
from novelwriter import CONFIG, SHARED
|
||||
from novelwriter.enum import nwDocAction, nwDocInsert
|
||||
from novelwriter.constants import nwKeyWords, nwUnicode
|
||||
from novelwriter.gui.doceditor import GuiDocEditor
|
||||
@@ -653,21 +653,10 @@ def testGuiMenu_Insert(qtbot, monkeypatch, nwGUI, fncPath, projPath, mockRnd):
|
||||
# Reveal File Location
|
||||
# ====================
|
||||
|
||||
theMessage = ""
|
||||
|
||||
def recordMsg(*args, **kwargs):
|
||||
nonlocal theMessage
|
||||
theMessage = "%s|%s" % (args[0], kwargs["info"])
|
||||
return None
|
||||
|
||||
assert not theMessage
|
||||
monkeypatch.setattr(nwGUI, "makeAlert", recordMsg)
|
||||
nwGUI.mainMenu.aFileDetails.activate(QAction.Trigger)
|
||||
|
||||
theBits = theMessage.split("|")
|
||||
assert len(theBits) == 2
|
||||
assert theBits[0] == "The currently open file is saved in:"
|
||||
assert theBits[1] == str(projPath / "content" / "000000000000f.nwd")
|
||||
path = str(projPath / "content" / "000000000000f.nwd")
|
||||
logMsg = SHARED.alert.logMessage if SHARED.alert else ""
|
||||
assert logMsg == f"The currently open file is saved in: {path}"
|
||||
|
||||
# qtbot.stop()
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ def testManuscriptBuild_Main(
|
||||
build = BuildSettings()
|
||||
build.setLastPath(fncPath)
|
||||
|
||||
manus = GuiManuscriptBuild(nwGUI, nwGUI, build)
|
||||
manus = GuiManuscriptBuild(nwGUI, build)
|
||||
manus.show()
|
||||
|
||||
# Check initial values
|
||||
@@ -101,7 +101,7 @@ def testManuscriptBuild_Main(
|
||||
# Error Handling
|
||||
# ==============
|
||||
|
||||
manus = GuiManuscriptBuild(nwGUI, nwGUI, build)
|
||||
manus = GuiManuscriptBuild(nwGUI, build)
|
||||
manus.show()
|
||||
|
||||
# Name, path and format should be remembered
|
||||
|
||||
Reference in New Issue
Block a user