""" novelWriter – Test Suite Mocked Classes ======================================= This file is a part of novelWriter Copyright 2018–2022, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . """ from PyQt5.QtCore import QObject # =========================================================================== # # Mock GUI # =========================================================================== # class MockGuiMain(QObject): def __init__(self): super().__init__() self.mainConf = None self.hasProject = True self.theProject = None self.mainStatus = MockStatusBar() self.projPath = "" # Test Variables self.askResponse = True self.lastAlert = "" self.lastQuestion = ("", "") return def postLaunchTasks(self, cmdOpen): return def makeAlert(self, message, level=0, exception=None): assert isinstance(message, str) or isinstance(message, list) print("%s: %s" % (str(level), message)) self.lastAlert = str(message) return def askQuestion(self, title, qustion): print("Question: %s" % qustion) self.lastQuestion = (title, qustion) return self.askResponse def setStatus(self, theMessage): return def openProject(self, projPath): self.projPath = projPath return def rebuildIndex(self): return def closeMain(self): return "closeMain" def close(self): return "close" # Test Functions def undo(self): self.askResponse = True return def clear(self): self.lastAlert = "" return # END Class MockGuiMain class MockStatusBar: def __init__(self): return def setStatus(self, theText): return def doUpdateProjectStatus(self, theStatus): return # END Class MockStatusBar class MockApp: def __init__(self): return def installTranslator(self, theLang): return # END Class MockApp # =========================================================================== # # Error Functions # Mock functions that will raise errors instead. # =========================================================================== # def causeOSError(*args, **kwargs): raise OSError("Mock OSError") def causeException(*args, **kwargs): raise Exception("Mock Exception")