Merge branch 'file_headers' into source_code_maintenance

This commit is contained in:
Veronica K. B. Olsen
2021-01-16 17:51:32 +01:00
73 changed files with 1399 additions and 848 deletions
@@ -23,7 +23,6 @@ link = 44, 152, 247
linkvisited = 44, 152, 247 linkvisited = 44, 152, 247
[GUI] [GUI]
treewordcount = 197, 200, 198
statusnone = 150, 152, 150 statusnone = 150, 152, 150
statussaved = 39, 135, 78 statussaved = 39, 135, 78
statusunsaved = 138, 32, 32 statusunsaved = 138, 32, 32
+3 -4
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Common Functions """
novelWriter Common Functions novelWriter Common Functions
================================ ==============================
Various functions used multiple places Various common functions
File History: File History:
Created: 2019-05-12 [0.1.0] Created: 2019-05-12 [0.1.0]
+3 -4
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Config Class """
novelWriter Config Class novelWriter Config Class
============================ ==========================
Class reading and holding the preferences of the application Class holding the user preferences and handling the config file
File History: File History:
Created: 2018-09-22 [0.0.1] Created: 2018-09-22 [0.0.1]
+3 -4
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Constants """
novelWriter Constants novelWriter Constants
========================= =======================
Constants for translating flags and enums to text Constants and maps for translating flags and enums to text
File History: File History:
Created: 2019-04-28 [0.0.1] Created: 2019-04-28 [0.0.1]
+3 -4
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Enums """
novelWriter Enums novelWriter Enums
===================== ===================
All enum values Global enum values
File History: File History:
Created: 2018-11-02 [0.0.1] Created: 2018-11-02 [0.0.1]
+2 -3
View File
@@ -1,8 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter ISO Codes """
novelWriter ISO Codes novelWriter ISO Codes
========================= =======================
Handles translating language codes to language names Handles translating language codes to language names
File History: File History:
+3 -4
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Project Document """
novelWriter Project Document novelWriter Project Document
================================ ==============================
Class holding a single novelWriter document Data class for a single novelWriter document
File History: File History:
Created: 2018-09-29 [0.0.1] Created: 2018-09-29 [0.0.1]
+3 -4
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Project Index """
novelWriter Project Index novelWriter Project Index
============================= ===========================
Class holding the project index of tags, headers and references Data class for the project index of tags, headers and references
File History: File History:
Created: 2019-05-27 [0.1.4] Created: 2019-05-27 [0.1.4]
+3 -4
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Project Item Class """
novelWriter Project Item Class novelWriter Project Item Class
================================== ================================
Class holding the data of a project tree item Data class for a project tree item
File History: File History:
Created: 2018-10-27 [0.0.1] Created: 2018-10-27 [0.0.1]
+3 -4
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Project Options Cache """
novelWriter Project Options Cache novelWriter Project Options Cache
===================================== ===================================
Class wrapping the project options state Data class for user-defined GUI project options
File History: File History:
Created: 2019-10-21 [0.3.1] Created: 2019-10-21 [0.3.1]
+3 -4
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Project Wrapper """
novelWriter Project Wrapper novelWriter Project Wrapper
=============================== =============================
Class wrapping the data of a novelWriter project Data class for novelWriter projects
File History: File History:
Created: 2018-09-29 [0.0.1] Created: 2018-09-29 [0.0.1]
+3 -4
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Spell Check Classes """
novelWriter Spell Check Classes novelWriter Spell Check Classes
=================================== =================================
Wrapper class for spell checking tools Wrapper classes for spell checking tools
File History: File History:
Created: 2019-06-11 [0.1.5] Created: 2019-06-11 [0.1.5]
+3 -4
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Project Item Status Class """
novelWriter Project Item Status Class novelWriter Project Item Status Class
========================================= =======================================
Class holding the status/importance elements of a project item Data class for the status/importance settings of a project item
File History: File History:
Created: 2019-05-19 [0.1.3] Created: 2019-05-19 [0.1.3]
+3 -4
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter HTML Text Converter """
novelWriter HTML Text Converter novelWriter HTML Text Converter
=================================== =================================
Extends the Tokenizer class to write HTML Extends the Tokenizer class to generate HTML output
File History: File History:
Created: 2019-05-07 [0.0.1] Created: 2019-05-07 [0.0.1]
+2 -3
View File
@@ -1,8 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Text Tokenizer """
novelWriter Text Tokenizer novelWriter Text Tokenizer
============================== ============================
Splits a piece of novelWriter markdown text into its elements Splits a piece of novelWriter markdown text into its elements
File History: File History:
+2 -3
View File
@@ -1,8 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Various Tools """
novelWriter Various Tools novelWriter Various Tools
============================= ===========================
Various core tool functions Various core tool functions
File History: File History:
+3 -4
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Project Tree Class """
novelWriter Project Tree Class novelWriter Project Tree Class
================================== ================================
Class holding the project's tree of project items Data class for the project's tree of project items
File History: File History:
Created: 2020-05-07 [0.4.5] Created: 2020-05-07 [0.4.5]
+3 -4
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Exception Handling """
novelWriter Exception Handling novelWriter Exception Handling
================================== ================================
Error handling functions Error handling function and error dialog
File History: File History:
Created: 2020-08-02 [0.10.2] Created: 2020-08-02 [0.10.2]
+2 -3
View File
@@ -1,8 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter GUI About Box """
novelWriter GUI About Box novelWriter GUI About Box
============================= ===========================
The about novelWriter dialog box The about novelWriter dialog box
File History: File History:
+3 -4
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter GUI Build Novel Project """
novelWriter GUI Build Novel Project novelWriter GUI Build Novel Project
======================================= =====================================
Class holding the build novel project dialog GUI classes for the build novel project dialog
File History: File History:
Created: 2020-05-09 [0.5] Created: 2020-05-09 [0.5]
+2 -3
View File
@@ -1,8 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Custom Widgets and Layouts """
novelWriter Custom Widgets and Layouts novelWriter Custom Widgets and Layouts
========================================== ========================================
Various custom widget and layout classes Various custom widget and layout classes
File History: File History:
+3 -4
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter GUI Document Editor """
novelWriter GUI Document Editor novelWriter GUI Document Editor
=================================== =================================
Class holding the main document editor GUI classes for the main document editor
File History: File History:
Created: 2018-09-29 [0.0.1] GuiDocEditor Created: 2018-09-29 [0.0.1] GuiDocEditor
+4 -5
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter GUI Document Highlighter """
novelWriter GUI Syntax Highlighter
novelWriter GUI Document Highlighter ====================================
======================================== Class for the main document editor syntax highlighter
Subclass for the main editor syntax highlighting
File History: File History:
Created: 2019-04-06 [0.0.1] Created: 2019-04-06 [0.0.1]
+4 -5
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter GUI Doc Merge """
novelWriter GUI Doc Merge Tool
novelWriter GUI Doc Merge ================================
============================= GUI class for merging multiple documents to one document
Tool for merging multiple documents to one document
File History: File History:
Created: 2020-01-23 [0.4.3] Created: 2020-01-23 [0.4.3]
+4 -5
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter GUI Doc Split """
novelWriter GUI Doc Split Tool
novelWriter GUI Doc Split ================================
============================= GUI class for splitting a single document into multiple documents
Tool for splitting a single document into multiple documents
File History: File History:
Created: 2020-02-01 [0.4.3] Created: 2020-02-01 [0.4.3]
+3 -4
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter GUI Document Viewer """
novelWriter GUI Document Viewer novelWriter GUI Document Viewer
=================================== =================================
Class holding the main document viewer GUI classes for the main document viewer
File History: File History:
Created: 2019-05-10 [0.0.1] GuiDocViewer Created: 2019-05-10 [0.0.1] GuiDocViewer
+3 -4
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter GUI Document Details """
novelWriter GUI Item Details Panel
novelWriter GUI Document Details
==================================== ====================================
Class holding the project tree item details panel GUI class for the project tree item details panel
File History: File History:
Created: 2019-04-24 [0.0.1] Created: 2019-04-24 [0.0.1]
+3 -4
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter GUI Item Editor """
novelWriter GUI Item Editor novelWriter GUI Item Editor
=============================== =============================
Class holding the item editor dialog GUI class for the item editor dialog
File History: File History:
Created: 2019-04-27 [0.0.1] Created: 2019-04-27 [0.0.1]
+3 -4
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter GUI Main Menu """
novelWriter GUI Main Menu novelWriter GUI Main Menu
============================= ===========================
Class holding the main window menu GUI class for the main window menu
File History: File History:
Created: 2019-04-27 [0.0.1] Created: 2019-04-27 [0.0.1]
+3 -4
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter GUI Project Outline """
novelWriter GUI Project Outline novelWriter GUI Project Outline
=================================== =================================
Class holding the project outline view GUI class for the project outline view
File History: File History:
Created: 2019-11-16 [0.4.1] Created: 2019-11-16 [0.4.1]
+3 -4
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter GUI Project Outline Details """
novelWriter GUI Project Outline Details novelWriter GUI Project Outline Details
=========================================== =========================================
Class holding the project outline details panel GUI class for the project outline details panel
File History: File History:
Created: 2020-06-02 [0.7.0] Created: 2020-06-02 [0.7.0]
+3 -4
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter GUI Preferences """
novelWriter GUI Preferences novelWriter GUI Preferences
=============================== =============================
Class holding the preferences dialog GUI classes for the user preferences dialog
File History: File History:
Created: 2019-06-10 [0.1.5] Created: 2019-06-10 [0.1.5]
+3 -4
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter GUI Open Project """
novelWriter GUI Open Project novelWriter GUI Open Project
================================ ==============================
Class holding the load/browse/new project dialog GUI class for the load/browse/new project dialog
File History: File History:
Created: 2020-02-26 [0.4.5] Created: 2020-02-26 [0.4.5]
+3 -4
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter GUI Project Settings """
novelWriter GUI Project Settings novelWriter GUI Project Settings
==================================== ==================================
Class holding the project settings dialog GUI classes for the project settings dialog
File History: File History:
Created: 2018-09-29 [0.0.1] Created: 2018-09-29 [0.0.1]
+4 -5
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter GUI Project Tree """
novelWriter GUI Project Tree
novelWriter GUI project Tree ==============================
================================ GUI classes for the main window project tree
Class holding the project tree view
File History: File History:
Created: 2018-09-29 [0.0.1] GuiProjectTree Created: 2018-09-29 [0.0.1] GuiProjectTree
+4 -5
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter GUI New Project Wizard """
novelWriter GUI New Project Wizard
novelWriter GUI New project Wizard ====================================
====================================== GUI classes for the new project wizard dialog
Class holding the new project wizard dialog
File History: File History:
Created: 2020-07-11 [0.10.1] Created: 2020-07-11 [0.10.1]
+3 -4
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter GUI Main Window StatusBar """
novelWriter GUI Main Window Status Bar novelWriter GUI Main Window Status Bar
========================================= ========================================
Class holding the main window status bar GUI class for the main window status bar
File History: File History:
Created: 2019-04-20 [0.0.1] Created: 2019-04-20 [0.0.1]
+6 -9
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Theme and Icons Classes """
novelWriter Theme and Icons Classes
novelWriter Theme and Icons Classs =====================================
====================================== Classes managing and caching themes and icons
Class managing and caching themes and icons
File History: File History:
Created: 2019-05-18 [0.1.3] GuiTheme Created: 2019-05-18 [0.1.3] GuiTheme
@@ -76,10 +75,9 @@ class GuiTheme:
self.themeLicenseUrl = "" self.themeLicenseUrl = ""
## GUI ## GUI
self.treeWCount = [0, 0, 0]
self.statNone = [120, 120, 120] self.statNone = [120, 120, 120]
self.statUnsaved = [120, 120, 40] self.statUnsaved = [200, 15, 39]
self.statSaved = [40, 120, 0] self.statSaved = [2, 133, 37]
self.helpText = [0, 0, 0] self.helpText = [0, 0, 0]
# Loaded Syntax Settings # Loaded Syntax Settings
@@ -309,7 +307,6 @@ class GuiTheme:
## GUI ## GUI
cnfSec = "GUI" cnfSec = "GUI"
if confParser.has_section(cnfSec): if confParser.has_section(cnfSec):
self.treeWCount = self._loadColour(confParser, cnfSec, "treewordcount")
self.statNone = self._loadColour(confParser, cnfSec, "statusnone") self.statNone = self._loadColour(confParser, cnfSec, "statusnone")
self.statUnsaved = self._loadColour(confParser, cnfSec, "statusunsaved") self.statUnsaved = self._loadColour(confParser, cnfSec, "statusunsaved")
self.statSaved = self._loadColour(confParser, cnfSec, "statussaved") self.statSaved = self._loadColour(confParser, cnfSec, "statussaved")
+3 -4
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter GUI Writing Statistics """
novelWriter GUI Writing Statistics novelWriter GUI Writing Statistics
====================================== ====================================
Class holding the word count and session statistics dialog GUI class for the session statistics dialog
File History: File History:
Created: 2019-10-20 [0.3] Created: 2019-10-20 [0.3]
+19 -12
View File
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter GUI Main Window """
novelWriter GUI Main Window novelWriter GUI Main Window
=============================== =============================
Class holding the main application window The main application window
File History: File History:
Created: 2018-09-22 [0.0.1] Created: 2018-09-22 [0.0.1]
@@ -90,7 +89,7 @@ class GuiMain(QMainWindow):
# Prepare Main Window # Prepare Main Window
self.resize(*self.mainConf.getWinSize()) self.resize(*self.mainConf.getWinSize())
self._setWindowTitle() self._updateWindowTitle()
self.setWindowIcon(QIcon(self.mainConf.appIcon)) self.setWindowIcon(QIcon(self.mainConf.appIcon))
# Build the GUI # Build the GUI
@@ -300,10 +299,13 @@ class GuiMain(QMainWindow):
# Work Area # Work Area
self.docEditor.clearEditor() self.docEditor.clearEditor()
self.docEditor.setDictionaries()
self.closeDocViewer() self.closeDocViewer()
self.projMeta.clearDetails()
# General # General
self.statusBar.clearStatus() self.statusBar.clearStatus()
self._updateWindowTitle()
return True return True
@@ -322,8 +324,9 @@ class GuiMain(QMainWindow):
"""Create new project via the new project wizard. """Create new project via the new project wizard.
""" """
if self.hasProject: if self.hasProject:
if not self.closeProject():
self.makeAlert( self.makeAlert(
"Please close the current project before making a new one.", "Cannot create new project when another project is open.",
nwAlert.ERROR nwAlert.ERROR
) )
return False return False
@@ -351,8 +354,13 @@ class GuiMain(QMainWindow):
self.rebuildTrees() self.rebuildTrees()
self.saveProject() self.saveProject()
self.hasProject = True self.hasProject = True
self.statusBar.setRefTime(self.theProject.projOpened) self.docEditor.setDictionaries()
self.rebuildIndex(beQuiet=True) self.rebuildIndex(beQuiet=True)
self.statusBar.setRefTime(self.theProject.projOpened)
self.statusBar.setProjectStatus(True)
self.statusBar.setDocumentStatus(None)
self.statusBar.setStatus("New project created ...")
self._updateWindowTitle(self.theProject.projName)
else: else:
self.theProject.clearProject() self.theProject.clearProject()
return False return False
@@ -399,7 +407,6 @@ class GuiMain(QMainWindow):
self.closeDocument() self.closeDocument()
self.docViewer.clearNavHistory() self.docViewer.clearNavHistory()
self.projView.closeOutline() self.projView.closeOutline()
self.projMeta.clearDetails()
self.theProject.closeProject() self.theProject.closeProject()
self.theIndex.clearIndex() self.theIndex.clearIndex()
self.clearGUI() self.clearGUI()
@@ -471,8 +478,8 @@ class GuiMain(QMainWindow):
self.theIndex.loadIndex() self.theIndex.loadIndex()
# Update GUI # Update GUI
self._setWindowTitle(self.theProject.projName) self._updateWindowTitle(self.theProject.projName)
self.rebuildTrees() self.rebuildTree()
self.docEditor.setDictionaries() self.docEditor.setDictionaries()
self.docEditor.setSpellCheck(self.theProject.spellCheck) self.docEditor.setSpellCheck(self.theProject.spellCheck)
self.mainMenu.setAutoOutline(self.theProject.autoOutline) self.mainMenu.setAutoOutline(self.theProject.autoOutline)
@@ -942,7 +949,7 @@ class GuiMain(QMainWindow):
if dlgProj.result() == QDialog.Accepted: if dlgProj.result() == QDialog.Accepted:
logger.debug("Applying new project settings") logger.debug("Applying new project settings")
self.docEditor.setDictionaries() self.docEditor.setDictionaries()
self._setWindowTitle(self.theProject.projName) self._updateWindowTitle(self.theProject.projName)
return return
@@ -1265,7 +1272,7 @@ class GuiMain(QMainWindow):
return True return True
def _setWindowTitle(self, projName=None): def _updateWindowTitle(self, projName=None):
"""Set the window title and add the project's working title. """Set the window title and add the project's working title.
""" """
winTitle = self.mainConf.appName winTitle = self.mainConf.appName
+44 -40
View File
@@ -8,6 +8,7 @@ import shutil
import os import os
from dummy import DummyMain from dummy import DummyMain
from tools import cleanProject
sys.path.insert(1, os.path.abspath(os.path.join(os.path.dirname(__file__), os.path.pardir))) sys.path.insert(1, os.path.abspath(os.path.join(os.path.dirname(__file__), os.path.pardir)))
@@ -129,21 +130,20 @@ def nwGUI(qtbot, fncDir):
def nwMinimal(tmpDir): def nwMinimal(tmpDir):
"""A minimal novelWriter example project. """A minimal novelWriter example project.
""" """
testDir = os.path.dirname(__file__) tstDir = os.path.dirname(__file__)
minimalStore = os.path.join(testDir, "minimal") srcDir = os.path.join(tstDir, "minimal")
minimalDir = os.path.join(tmpDir, "minimal") dstDir = os.path.join(tmpDir, "minimal")
if os.path.isdir(minimalDir): if os.path.isdir(dstDir):
shutil.rmtree(minimalDir) shutil.rmtree(dstDir)
shutil.copytree(minimalStore, minimalDir)
cacheDir = os.path.join(minimalDir, "cache") shutil.copytree(srcDir, dstDir)
if os.path.isdir(cacheDir): cleanProject(dstDir)
shutil.rmtree(cacheDir)
metaDir = os.path.join(minimalDir, "meta") yield dstDir
if os.path.isdir(metaDir):
shutil.rmtree(metaDir) if os.path.isdir(dstDir):
yield minimalDir shutil.rmtree(dstDir)
if os.path.isdir(minimalDir):
shutil.rmtree(minimalDir)
return return
@pytest.fixture(scope="function") @pytest.fixture(scope="function")
@@ -151,34 +151,38 @@ def nwLipsum(tmpDir):
"""A medium sized novelWriter example project with a lot of Lorem """A medium sized novelWriter example project with a lot of Lorem
Ipsum dummy text. Ipsum dummy text.
""" """
testDir = os.path.dirname(__file__) tstDir = os.path.dirname(__file__)
lipsumStore = os.path.join(testDir, "lipsum") srcDir = os.path.join(tstDir, "lipsum")
lipsumDir = os.path.join(tmpDir, "lipsum") dstDir = os.path.join(tmpDir, "lipsum")
if os.path.isdir(lipsumDir): if os.path.isdir(dstDir):
shutil.rmtree(lipsumDir) shutil.rmtree(dstDir)
shutil.copytree(lipsumStore, lipsumDir)
cacheDir = os.path.join(lipsumDir, "cache") shutil.copytree(srcDir, dstDir)
if os.path.isdir(cacheDir): cleanProject(dstDir)
shutil.rmtree(cacheDir)
metaDir = os.path.join(lipsumDir, "meta") yield dstDir
if os.path.isdir(metaDir):
shutil.rmtree(metaDir) if os.path.isdir(dstDir):
yield lipsumDir shutil.rmtree(dstDir)
if os.path.isdir(lipsumDir):
shutil.rmtree(lipsumDir)
return return
@pytest.fixture(scope="function") @pytest.fixture(scope="function")
def nwOldProj(tmpDir): def nwOldProj(tmpDir):
"""A minimal movelWriter project using the old folder structure. """A minimal movelWriter project using the old folder structure used
for storage versions < 1.2.
""" """
testDir = os.path.dirname(__file__) tstDir = os.path.dirname(__file__)
oldProjStore = os.path.join(testDir, "oldproj") srcDir = os.path.join(tstDir, "oldproj")
oldProjDir = os.path.join(tmpDir, "oldproj") dstDir = os.path.join(tmpDir, "oldproj")
if os.path.isdir(oldProjDir): if os.path.isdir(dstDir):
shutil.rmtree(oldProjDir) shutil.rmtree(dstDir)
shutil.copytree(oldProjStore, oldProjDir)
yield oldProjDir shutil.copytree(srcDir, dstDir)
if os.path.isdir(oldProjDir):
shutil.rmtree(oldProjDir) yield dstDir
if os.path.isdir(dstDir):
shutil.rmtree(dstDir)
return return
+19 -1
View File
@@ -1,5 +1,23 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Common Functions Tester """
novelWriter Common Functions Tester
=====================================
This file is a part of novelWriter
Copyright 20182021, 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 <https://www.gnu.org/licenses/>.
""" """
import time import time
+19 -1
View File
@@ -1,5 +1,23 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Config Class Tester """
novelWriter Config Class Tester
=================================
This file is a part of novelWriter
Copyright 20182021, 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 <https://www.gnu.org/licenses/>.
""" """
import pytest import pytest
+19 -1
View File
@@ -1,5 +1,23 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Error Tester """
novelWriter Error Tester
==========================
This file is a part of novelWriter
Copyright 20182021, 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 <https://www.gnu.org/licenses/>.
""" """
import nw import nw
+19 -1
View File
@@ -1,5 +1,23 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Main Init Tester """
novelWriter Main Init Tester
==============================
This file is a part of novelWriter
Copyright 20182021, 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 <https://www.gnu.org/licenses/>.
""" """
import nw import nw
+19 -1
View File
@@ -1,5 +1,23 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter NWDoc Class Tester """
novelWriter NWDoc Class Tester
================================
This file is a part of novelWriter
Copyright 20182021, 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 <https://www.gnu.org/licenses/>.
""" """
import os import os
+19 -1
View File
@@ -1,5 +1,23 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Project Class Tester """
novelWriter Project Class Tester
==================================
This file is a part of novelWriter
Copyright 20182021, 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 <https://www.gnu.org/licenses/>.
""" """
import pytest import pytest
+19 -1
View File
@@ -1,5 +1,23 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter NWItem Class Tester """
novelWriter NWItem Class Tester
=================================
This file is a part of novelWriter
Copyright 20182021, 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 <https://www.gnu.org/licenses/>.
""" """
import pytest import pytest
+19 -1
View File
@@ -1,5 +1,23 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter OptionState Class Tester """
novelWriter OptionState Class Tester
======================================
This file is a part of novelWriter
Copyright 20182021, 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 <https://www.gnu.org/licenses/>.
""" """
import os import os
+19 -1
View File
@@ -1,5 +1,23 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Project Class Tester """
novelWriter Project Class Tester
==================================
This file is a part of novelWriter
Copyright 20182021, 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 <https://www.gnu.org/licenses/>.
""" """
import pytest import pytest
+19 -1
View File
@@ -1,5 +1,23 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Spell Check Class Tester """
novelWriter Spell Check Class Tester
======================================
This file is a part of novelWriter
Copyright 20182021, 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 <https://www.gnu.org/licenses/>.
""" """
import os import os
+19 -1
View File
@@ -1,5 +1,23 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Status Class Tester """
novelWriter Status Class Tester
=================================
This file is a part of novelWriter
Copyright 20182021, 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 <https://www.gnu.org/licenses/>.
""" """
import pytest import pytest
+19 -1
View File
@@ -1,5 +1,23 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter ToHtml Class Tester """
novelWriter ToHtml Class Tester
=================================
This file is a part of novelWriter
Copyright 20182021, 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 <https://www.gnu.org/licenses/>.
""" """
import pytest import pytest
+19 -1
View File
@@ -1,5 +1,23 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Tokenizer Class Tester """
novelWriter Tokenizer Class Tester
====================================
This file is a part of novelWriter
Copyright 20182021, 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 <https://www.gnu.org/licenses/>.
""" """
import pytest import pytest
+19 -1
View File
@@ -1,5 +1,23 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Tools Tester """
novelWriter Tools Tester
==========================
This file is a part of novelWriter
Copyright 20182021, 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 <https://www.gnu.org/licenses/>.
""" """
import pytest import pytest
+19 -1
View File
@@ -1,5 +1,23 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter NWTree Class Tester """
novelWriter NWTree Class Tester
=================================
This file is a part of novelWriter
Copyright 20182021, 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 <https://www.gnu.org/licenses/>.
""" """
import os import os
+19 -1
View File
@@ -1,5 +1,23 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter About Dialog Class Tester """
novelWriter About Dialog Class Tester
=======================================
This file is a part of novelWriter
Copyright 20182021, 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 <https://www.gnu.org/licenses/>.
""" """
import pytest import pytest
+19 -1
View File
@@ -1,5 +1,23 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Build Dialog Class Tester """
novelWriter Build Dialog Class Tester
=======================================
This file is a part of novelWriter
Copyright 20182021, 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 <https://www.gnu.org/licenses/>.
""" """
import pytest import pytest
+19 -1
View File
@@ -1,5 +1,23 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Dialog Class Tester """
novelWriter Dialog Class Tester
=================================
This file is a part of novelWriter
Copyright 20182021, 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 <https://www.gnu.org/licenses/>.
""" """
import pytest import pytest
+19 -1
View File
@@ -1,5 +1,23 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Main GUI Editor Class Tester """
novelWriter Main GUI Editor Class Tester
==========================================
This file is a part of novelWriter
Copyright 20182021, 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 <https://www.gnu.org/licenses/>.
""" """
import pytest import pytest
+19 -1
View File
@@ -1,5 +1,23 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Main GUI Viewer Class Tester """
novelWriter Main GUI Viewer Class Tester
==========================================
This file is a part of novelWriter
Copyright 20182021, 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 <https://www.gnu.org/licenses/>.
""" """
import pytest import pytest
+19 -1
View File
@@ -1,5 +1,23 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Item Editor Dialog Class Tester """
novelWriter Item Editor Dialog Class Tester
=============================================
This file is a part of novelWriter
Copyright 20182021, 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 <https://www.gnu.org/licenses/>.
""" """
import pytest import pytest
+19 -1
View File
@@ -1,5 +1,23 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Main GUI Main Menu Class Tester """
novelWriter Main GUI Main Menu Class Tester
=============================================
This file is a part of novelWriter
Copyright 20182021, 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 <https://www.gnu.org/licenses/>.
""" """
import pytest import pytest
+19 -1
View File
@@ -1,5 +1,23 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Merge and Split Dialog Classes Tester """
novelWriter Merge and Split Dialog Classes Tester
===================================================
This file is a part of novelWriter
Copyright 20182021, 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 <https://www.gnu.org/licenses/>.
""" """
import pytest import pytest
+19 -1
View File
@@ -1,5 +1,23 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Main GUI Outline Class Tester """
novelWriter Main GUI Outline Class Tester
===========================================
This file is a part of novelWriter
Copyright 20182021, 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 <https://www.gnu.org/licenses/>.
""" """
import pytest import pytest
+19 -1
View File
@@ -1,5 +1,23 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Dialog Class Tester """
novelWriter Dialog Class Tester
=================================
This file is a part of novelWriter
Copyright 20182021, 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 <https://www.gnu.org/licenses/>.
""" """
import nw import nw
+19 -1
View File
@@ -1,5 +1,23 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Dialog Class Tester """
novelWriter Dialog Class Tester
=================================
This file is a part of novelWriter
Copyright 20182021, 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 <https://www.gnu.org/licenses/>.
""" """
import pytest import pytest
+19 -1
View File
@@ -1,5 +1,23 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Project Settings Dialog Class Tester """
novelWriter Project Settings Dialog Class Tester
==================================================
This file is a part of novelWriter
Copyright 20182021, 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 <https://www.gnu.org/licenses/>.
""" """
import pytest import pytest
+19 -1
View File
@@ -1,5 +1,23 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Main GUI Project Tree Class Tester """
novelWriter Main GUI Project Tree Class Tester
================================================
This file is a part of novelWriter
Copyright 20182021, 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 <https://www.gnu.org/licenses/>.
""" """
import pytest import pytest
+19 -1
View File
@@ -1,5 +1,23 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Project Wizard Class Tester """
novelWriter Project Wizard Class Tester
=========================================
This file is a part of novelWriter
Copyright 20182021, 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 <https://www.gnu.org/licenses/>.
""" """
import pytest import pytest
+19 -2
View File
@@ -1,5 +1,23 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Main GUI Class Tester """
novelWriter Main GUI Class Tester
===================================
This file is a part of novelWriter
Copyright 20182021, 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 <https://www.gnu.org/licenses/>.
""" """
import nw import nw
@@ -73,7 +91,6 @@ def testGuiTheme_Main(qtbot, monkeypatch, nwMinimal, tmpDir):
assert thePalette.link().color() == QColor(44, 152, 247) assert thePalette.link().color() == QColor(44, 152, 247)
assert thePalette.linkVisited().color() == QColor(44, 152, 247) assert thePalette.linkVisited().color() == QColor(44, 152, 247)
assert nwGUI.theTheme.treeWCount == [197, 200, 198]
assert nwGUI.theTheme.statNone == [150, 152, 150] assert nwGUI.theTheme.statNone == [150, 152, 150]
assert nwGUI.theTheme.statSaved == [39, 135, 78] assert nwGUI.theTheme.statSaved == [39, 135, 78]
assert nwGUI.theTheme.statUnsaved == [138, 32, 32] assert nwGUI.theTheme.statUnsaved == [138, 32, 32]
+19 -1
View File
@@ -1,5 +1,23 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""novelWriter Writing Stats Dialog Class Tester """
novelWriter Writing Stats Dialog Class Tester
===============================================
This file is a part of novelWriter
Copyright 20182021, 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 <https://www.gnu.org/licenses/>.
""" """
import pytest import pytest
+24
View File
@@ -2,6 +2,9 @@
"""novelWriter Test Tools """novelWriter Test Tools
""" """
import os
import shutil
from itertools import chain from itertools import chain
from PyQt5.QtWidgets import qApp from PyQt5.QtWidgets import qApp
@@ -82,3 +85,24 @@ def writeFile(fileName, fileData):
""" """
with open(fileName, mode="w", encoding="utf8") as outFile: with open(fileName, mode="w", encoding="utf8") as outFile:
outFile.write(fileData) outFile.write(fileData)
def cleanProject(projPath):
"""Delete all generated files in a project.
"""
cacheDir = os.path.join(projPath, "cache")
if os.path.isdir(cacheDir):
shutil.rmtree(cacheDir)
metaDir = os.path.join(projPath, "meta")
if os.path.isdir(metaDir):
shutil.rmtree(metaDir)
bakFile = os.path.join(projPath, "nwProject.bak")
if os.path.isfile(bakFile):
os.unlink(bakFile)
tocFile = os.path.join(projPath, "ToC.txt")
if os.path.isfile(tocFile):
os.unlink(tocFile)
return