diff --git a/novelwriter/__init__.py b/novelwriter/__init__.py index bd8fa337..6dbd27bc 100644 --- a/novelwriter/__init__.py +++ b/novelwriter/__init__.py @@ -39,7 +39,7 @@ from novelwriter.config import Config # - Digit 1,2 : Major Version (01-ff) # - Digit 3,4 : Minor Version (01-ff) # - Digit 5,6 : Patch Version (01-ff) -# - Digit 7 : Release Type (a: aplha, b: beta, c: candidate, f: final) +# - Digit 7 : Release Type (a: alpha, b: beta, c: candidate, f: final) # - Digit 8 : Release Number (0-f) # # Example : Full Short Description diff --git a/novelwriter/common.py b/novelwriter/common.py index 46a18c85..5f8fedff 100644 --- a/novelwriter/common.py +++ b/novelwriter/common.py @@ -257,7 +257,7 @@ def formatTime(t: int) -> str: def simplified(text: str) -> str: """Take a string and strip leading and trailing whitespaces, and - replace all occurences of (multiple) whitespaces with a 0x20 space. + replace all occurrences of (multiple) whitespaces with a 0x20 space. """ return " ".join(str(text).strip().split()) diff --git a/novelwriter/config.py b/novelwriter/config.py index d94cecdc..e6a13373 100644 --- a/novelwriter/config.py +++ b/novelwriter/config.py @@ -109,7 +109,7 @@ class Config: # Size Settings self._mainWinSize = [1200, 650] # Last size of the main GUI window self._prefsWinSize = [700, 615] # Last size of the Preferences dialog - self._projLoadCols = [280, 60, 160] # Last columns withs of the Project Load dialog + self._projLoadCols = [280, 60, 160] # Last columns widths of the Project Load dialog self._mainPanePos = [300, 800] # Last position of the main window splitter self._viewPanePos = [500, 150] # Last position of the document viewer splitter self._outlnPanePos = [500, 150] # Last position of the outline panel splitter @@ -135,7 +135,7 @@ class Config: self.autoSelect = True # Auto-select word when applying format with no selection self.doJustify = False # Justify text - self.showTabsNSpaces = False # Show tabs and spaces in edior + self.showTabsNSpaces = False # Show tabs and spaces in editor self.showLineEndings = False # Show line endings in editor self.showMultiSpaces = True # Highlight multiple spaces in the text @@ -781,7 +781,7 @@ class Config: return checkVal def _checkOptionalPackages(self): - """Cheks if we have the optional packages used by some features. + """Check if we have the optional packages used by some features. """ try: import enchant # noqa: F401 diff --git a/novelwriter/constants.py b/novelwriter/constants.py index 60ed8af3..05242c36 100644 --- a/novelwriter/constants.py +++ b/novelwriter/constants.py @@ -42,8 +42,8 @@ class nwConst: FMT_DSTAMP = "%Y-%m-%d" # Date only format # Various Hard Limits - MAX_DOCSIZE = 5000000 # Maxium size of a single document - MAX_BUILDSIZE = 10000000 # Maxium size of a project build + MAX_DOCSIZE = 5000000 # Maximum size of a single document + MAX_BUILDSIZE = 10000000 # Maximum size of a project build # URLs URL_WEB = "https://novelwriter.io" @@ -358,7 +358,7 @@ class nwUnicode: U_PERMIL = "\u2030" # Per mille sign U_DEGREE = "\u00b0" # Degree symbol U_MINUS = "\u2212" # Minus sign - U_TIMES = "\u00d7" # Multiplaction sign + U_TIMES = "\u00d7" # Multiplication sign U_DIVIDE = "\u00f7" # Division sign # Arrows diff --git a/novelwriter/core/buildsettings.py b/novelwriter/core/buildsettings.py index cba442e8..524a1714 100644 --- a/novelwriter/core/buildsettings.py +++ b/novelwriter/core/buildsettings.py @@ -493,7 +493,7 @@ class BuildCollection: return def builds(self) -> Iterable[tuple[str, str]]: - """Iterate over all avaiable builds.""" + """Iterate over all available builds.""" for buildID in self._builds: yield buildID, self._builds[buildID].get("name", "") return diff --git a/novelwriter/core/coretools.py b/novelwriter/core/coretools.py index fbd3abd3..03dda141 100644 --- a/novelwriter/core/coretools.py +++ b/novelwriter/core/coretools.py @@ -309,7 +309,7 @@ class DocDuplicator: class ProjectBuilder: """A class to build a new project from a set of user-defined - parameter provided by the New Projecty Wizard. + parameter provided by the New Project Wizard. """ def __init__(self, mainGui: GuiMain) -> None: diff --git a/novelwriter/core/document.py b/novelwriter/core/document.py index 7fee1d7d..8e4660a8 100644 --- a/novelwriter/core/document.py +++ b/novelwriter/core/document.py @@ -87,7 +87,7 @@ class NWDocument: def readDocument(self, isOrphan: bool = False) -> str | None: """Read the document specified by the handle set in the - contructor, capturing potential file system errors and parse + constructor, capturing potential file system errors and parse meta data. If the document doesn't exist on disk, return an empty string. If something went wrong, return None. """ diff --git a/novelwriter/core/index.py b/novelwriter/core/index.py index d16d4015..7f65a5e0 100644 --- a/novelwriter/core/index.py +++ b/novelwriter/core/index.py @@ -730,7 +730,7 @@ class TagsIndex: class ItemIndex: """Core: Item Index Wrapper Class - A wrapper object holding the indexed items. This is a warapper + A wrapper object holding the indexed items. This is a wrapper class around a single storage dictionary with a set of utility functions for setting and accessing the index data. Each indexed item is stored in an IndexItem object, which again holds an diff --git a/novelwriter/core/project.py b/novelwriter/core/project.py index 592e52f1..37b46423 100644 --- a/novelwriter/core/project.py +++ b/novelwriter/core/project.py @@ -67,7 +67,7 @@ class NWProject(QObject): self._storage = NWStorage(self) # The project storage handler self._data = NWProjectData(self) # The project settings self._tree = NWTree(self) # The project tree - self._index = NWIndex(self) # The projecty index + self._index = NWIndex(self) # The project index self._session = NWSessionLog(self) # The session record # Data Cache diff --git a/novelwriter/core/projectdata.py b/novelwriter/core/projectdata.py index 2a405798..7deb8d0f 100644 --- a/novelwriter/core/projectdata.py +++ b/novelwriter/core/projectdata.py @@ -252,7 +252,7 @@ class NWProjectData: return def setEditTime(self, value: Any): - """Set tyje edit time from last session.""" + """Set the edit time from last session.""" self._editTime = checkInt(value, 0) self.theProject.setProjectChanged(True) return diff --git a/novelwriter/core/projectxml.py b/novelwriter/core/projectxml.py index 628dd390..055fe4ef 100644 --- a/novelwriter/core/projectxml.py +++ b/novelwriter/core/projectxml.py @@ -97,12 +97,12 @@ class ProjectXMLReader: 1.4 Introduces a more compact format for storing items. All settings aside from name are now attributes. This format also changes the - way satus and importance labels are stored. This format was only + way status and importance labels are stored. This format was only a part of version 2.0 RC 1 1.5 The actual format released for 2.0. It moves last used handles and title formats into a key/value format similar to auto- - replace, status and imporetance. It adds the heading value to + replace, status and importance. It adds the heading value to the content item meta entry. It also moves meta data related to the project or the content into their respective section nodes as attributes. The id attribute was also added to the project. @@ -452,7 +452,7 @@ class ProjectXMLReader: def _parseDictKeyText(self, xItem: ET.Element) -> dict: """Parse a dictionary stored with key as an attribute and the - value as the text porperty. + value as the text property. """ result = {} for xEntry in xItem: @@ -462,7 +462,7 @@ class ProjectXMLReader: def _parseDictTagText(self, xItem): """Parse a dictionary stored with key as the tag and the value - as the text porperty. + as the text property. """ return {xNode.tag: checkString(xNode.text, "") for xNode in xItem} diff --git a/novelwriter/core/sessions.py b/novelwriter/core/sessions.py index 7fe3fd3a..aa9da7e8 100644 --- a/novelwriter/core/sessions.py +++ b/novelwriter/core/sessions.py @@ -66,7 +66,7 @@ class NWSessionLog: ## def startSession(self): - """Start the writng session.""" + """Start the writing session.""" self._start = time() return diff --git a/novelwriter/core/storage.py b/novelwriter/core/storage.py index f664ddfa..8677ad75 100644 --- a/novelwriter/core/storage.py +++ b/novelwriter/core/storage.py @@ -110,7 +110,7 @@ class NWStorage: """ inPath = Path(path).resolve() if inPath.is_file(): - # The path should not point to an exisitng file, + # The path should not point to an existing file, # but it can point to a folder containing files inPath = inPath.parent @@ -313,7 +313,7 @@ class NWStorage: if not checkLegacy: # The legacy content check is only needed for project folder # storage, so if it is not expected to be that, there's no - # need for the remaning checks. + # need for the remaining checks. return True legacy = _LegacyStorage(self._project) diff --git a/novelwriter/core/toodt.py b/novelwriter/core/toodt.py index 34d5a7d8..87392e52 100644 --- a/novelwriter/core/toodt.py +++ b/novelwriter/core/toodt.py @@ -147,7 +147,7 @@ class ToOdt(Tokenizer): self._dLanguage = "en" self._dCountry = "GB" - # Text Margings + # Text Margins self._mTopTitle = "0.423cm" self._mTopHead1 = "0.423cm" self._mTopHead2 = "0.353cm" diff --git a/novelwriter/core/tree.py b/novelwriter/core/tree.py index f8ea65b7..b163869a 100644 --- a/novelwriter/core/tree.py +++ b/novelwriter/core/tree.py @@ -126,7 +126,7 @@ class NWTree: return None def pack(self) -> list[dict]: - """Pack the content of the tree into a list of doctionaries of + """Pack the content of the tree into a list of dictionaries of items. In the order defined by the _treeOrder list. """ tree = [] diff --git a/novelwriter/extensions/switchbox.py b/novelwriter/extensions/switchbox.py index 7eb30957..f7385058 100644 --- a/novelwriter/extensions/switchbox.py +++ b/novelwriter/extensions/switchbox.py @@ -122,7 +122,7 @@ class NSwitchBox(QScrollArea): def _bumpIndex(self): """Increase the index counter and make sure only the last - columns is stretcing. + columns is stretching. """ self._content.setRowStretch(self._index, 0) self._content.setRowStretch(self._index + 1, 1) diff --git a/novelwriter/gui/doceditor.py b/novelwriter/gui/doceditor.py index 37ef9fe7..a86b15c7 100644 --- a/novelwriter/gui/doceditor.py +++ b/novelwriter/gui/doceditor.py @@ -417,7 +417,7 @@ class GuiDocEditor(QTextEdit): self.setDocumentChanged(False) qApp.restoreOverrideCursor() - # This is a hack to fix invisble cursor on an empty document + # This is a hack to fix invisible cursor on an empty document if self.document().characterCount() <= 1: self.setPlainText("\n") self.setPlainText("") @@ -1001,7 +1001,7 @@ class GuiDocEditor(QTextEdit): We need to intercept a few key sequences: * The return and enter keys redirect here even if the search box has focus. Since we need these keys to continue search, - we block any further interaction here while ithas focus. + we block any further interaction here while it has focus. * The undo/redo/select all sequences bypass the docAction pathway from the menu, so we redirect them back from here. * We also handle automatic scrolling here. diff --git a/novelwriter/gui/dochighlight.py b/novelwriter/gui/dochighlight.py index 0d366b05..46904842 100644 --- a/novelwriter/gui/dochighlight.py +++ b/novelwriter/gui/dochighlight.py @@ -83,7 +83,7 @@ class GuiDocHighlighter(QSyntaxHighlighter): def initHighlighter(self): """Initialise the syntax highlighter, setting all the colour - rules and building the regexes. + rules and building the RegExes. """ logger.debug("Setting up highlighting rules") @@ -255,7 +255,7 @@ class GuiDocHighlighter(QSyntaxHighlighter): ## def rehighlightByType(self, theType): - """Loop through all blocks and rehighlight those of a given + """Loop through all blocks and re-highlight those of a given content type. """ qDoc = self.document() diff --git a/novelwriter/gui/docviewer.py b/novelwriter/gui/docviewer.py index be25e4b5..168030b2 100644 --- a/novelwriter/gui/docviewer.py +++ b/novelwriter/gui/docviewer.py @@ -456,7 +456,7 @@ class GuiDocViewer(QTextBrowser): theCursor.select(selMode) if selMode == QTextCursor.BlockUnderCursor: - # This selection mode also selects the preceding oaragraph + # This selection mode also selects the preceding paragraph # separator, which we want to avoid. posS = theCursor.selectionStart() posE = theCursor.selectionEnd() diff --git a/novelwriter/gui/noveltree.py b/novelwriter/gui/noveltree.py index 41cee1a9..cd0fd593 100644 --- a/novelwriter/gui/noveltree.py +++ b/novelwriter/gui/noveltree.py @@ -1,7 +1,7 @@ """ novelWriter – GUI Novel Tree ============================ -GUI classe for the main window novel tree +GUI class for the main window novel tree File History: Created: 2020-12-20 [1.1rc1] GuiNovelTree diff --git a/novelwriter/gui/outline.py b/novelwriter/gui/outline.py index 806f4d6b..e19b19a3 100644 --- a/novelwriter/gui/outline.py +++ b/novelwriter/gui/outline.py @@ -281,7 +281,7 @@ class GuiOutlineToolBar(QToolBar): return def populateNovelList(self): - """Relaod the content of the novel list. + """Reload the content of the novel list. """ self.novelValue.updateList(includeAll=True) return diff --git a/novelwriter/gui/projtree.py b/novelwriter/gui/projtree.py index 01ef501d..8274d984 100644 --- a/novelwriter/gui/projtree.py +++ b/novelwriter/gui/projtree.py @@ -432,7 +432,7 @@ class GuiProjectToolBar(QWidget): @pyqtSlot(str) def _treeSelectionChanged(self, tHandle): - """Toggle the visibility of the new item enties for novel + """Toggle the visibility of the new item entries for novel documents. They should only be visible if novel documents can actually be added. """ diff --git a/novelwriter/tools/manuscript.py b/novelwriter/tools/manuscript.py index 762767cc..53671fa7 100644 --- a/novelwriter/tools/manuscript.py +++ b/novelwriter/tools/manuscript.py @@ -232,7 +232,7 @@ class GuiManuscript(QDialog): def closeEvent(self, event): """Capture the user closing the window so we can save GUI settings. We also check that we don't have a build settings - diralog open. + dialog open. """ self._saveSettings() for obj in self.children(): @@ -430,7 +430,7 @@ class GuiManuscript(QDialog): bItem = self._buildMap.get(build.buildID, None) if isinstance(bItem, QListWidgetItem): bItem.setText(build.name) - else: # Propbably a new item + else: # Probably a new item self._updateBuildsList() return diff --git a/tests/test_base/test_base_common.py b/tests/test_base/test_base_common.py index 7b0f868c..3b9c4f3a 100644 --- a/tests/test_base/test_base_common.py +++ b/tests/test_base/test_base_common.py @@ -133,7 +133,7 @@ def testBaseCommon_CheckBool(): assert checkBool(0, True) is False assert checkBool(1, False) is True - # Inalid Integers + # Invalid Integers assert checkBool(2, True) is True assert checkBool(2, False) is False diff --git a/tests/test_base/test_base_config.py b/tests/test_base/test_base_config.py index 2a7e6130..3f0d94c7 100644 --- a/tests/test_base/test_base_config.py +++ b/tests/test_base/test_base_config.py @@ -35,8 +35,7 @@ from novelwriter.constants import nwFiles @pytest.mark.base def testBaseConfig_Constructor(monkeypatch): - """Test config contructor. - """ + """Test config constructor.""" # Linux with monkeypatch.context() as mp: mp.setattr("sys.platform", "linux") @@ -93,8 +92,7 @@ def testBaseConfig_Constructor(monkeypatch): @pytest.mark.base def testBaseConfig_InitLoadSave(monkeypatch, fncPath, tstPaths): - """Test config intialisation. - """ + """Test config initialisation.""" tstConf = Config() confFile = fncPath / nwFiles.CONF_FILE @@ -159,8 +157,7 @@ def testBaseConfig_InitLoadSave(monkeypatch, fncPath, tstPaths): @pytest.mark.base def testBaseConfig_Localisation(fncPath, tstPaths): - """Test localisation. - """ + """Test localisation.""" tstConf = Config() tstConf.initConfig(confPath=fncPath, dataPath=fncPath) @@ -198,8 +195,7 @@ def testBaseConfig_Localisation(fncPath, tstPaths): @pytest.mark.base def testBaseConfig_Methods(fncPath): - """Check class methods. - """ + """Check class methods.""" tstConf = Config() tstConf.initConfig(confPath=fncPath, dataPath=fncPath) diff --git a/tests/test_base/test_base_error.py b/tests/test_base/test_base_error.py index d6a743c0..886a8e80 100644 --- a/tests/test_base/test_base_error.py +++ b/tests/test_base/test_base_error.py @@ -67,7 +67,7 @@ def testBaseError_Dialog(qtbot, monkeypatch, nwGUI): def testBaseError_Handler(qtbot, monkeypatch, nwGUI): """Test the error handler. This test doesn'thave any asserts, but it checks that the error handler handles potential exceptions. The test - will fail if excpetions are not handled. + will fail if exceptions are not handled. """ # Normal shutdown with monkeypatch.context() as mp: diff --git a/tests/test_core/test_core_buildsettings.py b/tests/test_core/test_core_buildsettings.py index 558d894d..14c19761 100644 --- a/tests/test_core/test_core_buildsettings.py +++ b/tests/test_core/test_core_buildsettings.py @@ -387,12 +387,12 @@ def testCoreBuildSettings_Collection(monkeypatch, mockGUI, fncPath: Path, mockRn assert len(builds) == 0 assert not buildsFile.exists() - # Greate a default build + # Create a default build buildOne = BuildSettings() buildOne.setName("Build One") buildIDOne = buildOne.buildID - # Check that invalid type is ahndled + # Check that invalid type is handled builds.setBuild(None) # type: ignore assert len(builds) == 0 assert not buildsFile.exists() diff --git a/tests/test_core/test_core_docbuild.py b/tests/test_core/test_core_docbuild.py index a0e646e9..bd242f4f 100644 --- a/tests/test_core/test_core_docbuild.py +++ b/tests/test_core/test_core_docbuild.py @@ -76,7 +76,7 @@ BUILD_CONF = { @pytest.mark.core def testCoreDocBuild_OpenDocument(monkeypatch, mockGUI, prjLipsum, fncPath, tstPaths): - """Test builing an open document manuscript.""" + """Test building an open document manuscript.""" project = NWProject(mockGUI) project.openProject(prjLipsum) @@ -180,7 +180,7 @@ def testCoreDocBuild_OpenDocument(monkeypatch, mockGUI, prjLipsum, fncPath, tstP @pytest.mark.core def testCoreDocBuild_HTML(monkeypatch, mockGUI, prjLipsum, fncPath, tstPaths): - """Test builing an HTML manuscript.""" + """Test building an HTML manuscript.""" project = NWProject(mockGUI) project.openProject(prjLipsum) @@ -250,7 +250,7 @@ def testCoreDocBuild_HTML(monkeypatch, mockGUI, prjLipsum, fncPath, tstPaths): @pytest.mark.core def testCoreDocBuild_Markdown(monkeypatch, mockGUI, prjLipsum, fncPath, tstPaths): - """Test builing an Markdown manuscript.""" + """Test building an Markdown manuscript.""" project = NWProject(mockGUI) project.openProject(prjLipsum) @@ -320,7 +320,7 @@ def testCoreDocBuild_Markdown(monkeypatch, mockGUI, prjLipsum, fncPath, tstPaths @pytest.mark.core def testCoreDocBuild_NWD(monkeypatch, mockGUI, prjLipsum, fncPath, tstPaths): - """Test builing a NWD manuscript.""" + """Test building a NWD manuscript.""" project = NWProject(mockGUI) project.openProject(prjLipsum) diff --git a/tests/test_core/test_core_index.py b/tests/test_core/test_core_index.py index 317e176b..9b8871d6 100644 --- a/tests/test_core/test_core_index.py +++ b/tests/test_core/test_core_index.py @@ -35,7 +35,7 @@ from novelwriter.core.project import NWProject @pytest.mark.core def testCoreIndex_LoadSave(monkeypatch, prjLipsum, mockGUI, tstPaths): - """Test core functionality of scaning, saving, loading and checking + """Test core functionality of scanning, saving, loading and checking the index cache file. """ projFile = prjLipsum / "meta" / nwFiles.INDEX_FILE @@ -154,8 +154,7 @@ def testCoreIndex_LoadSave(monkeypatch, prjLipsum, mockGUI, tstPaths): @pytest.mark.core def testCoreIndex_ScanThis(mockGUI): - """Test the tag scanner function scanThis. - """ + """Test the tag scanner function scanThis.""" theProject = NWProject(mockGUI) theIndex = theProject.index @@ -281,8 +280,7 @@ def testCoreIndex_CheckThese(mockGUI, fncPath, mockRnd): @pytest.mark.core def testCoreIndex_ScanText(mockGUI, fncPath, mockRnd): - """Check the index text scanner. - """ + """Check the index text scanner.""" theProject = NWProject(mockGUI) mockRnd.reset() buildTestProject(theProject, fncPath) @@ -503,8 +501,7 @@ def testCoreIndex_ScanText(mockGUI, fncPath, mockRnd): @pytest.mark.core def testCoreIndex_ExtractData(mockGUI, fncPath, mockRnd): - """Check the index data extraction functions. - """ + """Check the index data extraction functions.""" theProject = NWProject(mockGUI) mockRnd.reset() buildTestProject(theProject, fncPath) @@ -591,7 +588,7 @@ def testCoreIndex_ExtractData(mockGUI, fncPath, mockRnd): # getReferences # ============= - # Look up an ivalid handle + # Look up an invalid handle theRefs = theIndex.getReferences("Not a handle") assert theRefs["@pov"] == [] assert theRefs["@char"] == [] @@ -784,8 +781,7 @@ def testCoreIndex_ExtractData(mockGUI, fncPath, mockRnd): @pytest.mark.core def testCoreIndex_TagsIndex(): - """Check the TagsIndex class. - """ + """Check the TagsIndex class.""" tagsIndex = TagsIndex() assert tagsIndex._tags == {} @@ -847,7 +843,7 @@ def testCoreIndex_TagsIndex(): # Pack Data assert tagsIndex.packData() == content - # Delete the second key and a nomn-existant key + # Delete the second key and a non-existant key del tagsIndex["Tag2"] del tagsIndex["Tag4"] assert "Tag1" in tagsIndex @@ -944,8 +940,7 @@ def testCoreIndex_TagsIndex(): @pytest.mark.core def testCoreIndex_ItemIndex(mockGUI, fncPath, mockRnd): - """Check the ItemIndex class. - """ + """Check the ItemIndex class.""" theProject = NWProject(mockGUI) mockRnd.reset() buildTestProject(theProject, fncPath) @@ -981,7 +976,7 @@ def testCoreIndex_ItemIndex(mockGUI, fncPath, mockRnd): # Add a heading to an invalid item assert itemIndex.addItemHeading(C.hInvalid, 1, "H1", "Stuff") == "T0000" - # Set the remainig data values + # Set the remaining data values itemIndex.setHeadingCounts(cHandle, "T0001", 60, 10, 2) itemIndex.setHeadingSynopsis(cHandle, "T0001", "In the beginning ...") itemIndex.setHeadingTag(cHandle, "T0001", "One") @@ -1183,8 +1178,7 @@ def testCoreIndex_ItemIndex(mockGUI, fncPath, mockRnd): @pytest.mark.core def testCoreIndex_CountWords(): - """Test the word counter and the exclusion filers. - """ + """Test the word counter and the exclusion filers.""" # Non-Text assert countWords(None) == (0, 0, 0) assert countWords(1234) == (0, 0, 0) diff --git a/tests/test_core/test_core_project.py b/tests/test_core/test_core_project.py index 27c8153f..aec33ce7 100644 --- a/tests/test_core/test_core_project.py +++ b/tests/test_core/test_core_project.py @@ -38,8 +38,7 @@ from novelwriter.core.projectxml import ProjectXMLReader, ProjectXMLWriter, XMLR @pytest.mark.core def testCoreProject_NewRoot(fncPath, tstPaths, mockGUI, mockRnd): - """Check that new root folders can be added to the project. - """ + """Check that new root folders can be added to the project.""" projFile = fncPath / "nwProject.nwx" testFile = tstPaths.outDir / "coreProject_NewRoot_nwProject.nwx" compFile = tstPaths.refDir / "coreProject_NewRoot_nwProject.nwx" @@ -89,8 +88,7 @@ def testCoreProject_NewRoot(fncPath, tstPaths, mockGUI, mockRnd): @pytest.mark.core def testCoreProject_NewFileFolder(monkeypatch, fncPath, tstPaths, mockGUI, mockRnd): - """Check that new files can be added to the project. - """ + """Check that new files can be added to the project.""" projFile = fncPath / "nwProject.nwx" testFile = tstPaths.outDir / "coreProject_NewFileFolder_nwProject.nwx" compFile = tstPaths.refDir / "coreProject_NewFileFolder_nwProject.nwx" @@ -163,8 +161,7 @@ def testCoreProject_NewFileFolder(monkeypatch, fncPath, tstPaths, mockGUI, mockR @pytest.mark.core def testCoreProject_Open(monkeypatch, caplog, mockGUI, fncPath, mockRnd): - """Test opening a project. - """ + """Test opening a project.""" theProject = NWProject(mockGUI) mockRnd.reset() buildTestProject(theProject, fncPath) @@ -259,8 +256,7 @@ def testCoreProject_Open(monkeypatch, caplog, mockGUI, fncPath, mockRnd): @pytest.mark.core def testCoreProject_Save(monkeypatch, mockGUI, mockRnd, fncPath): - """Test saving a project. - """ + """Test saving a project.""" theProject = NWProject(mockGUI) # Nothing to save @@ -289,8 +285,7 @@ def testCoreProject_Save(monkeypatch, mockGUI, mockRnd, fncPath): @pytest.mark.core def testCoreProject_AccessItems(mockGUI, fncPath, mockRnd): - """Test helper functions for the project folder. - """ + """Test helper functions for the project folder.""" theProject = NWProject(mockGUI) buildTestProject(theProject, fncPath) @@ -354,8 +349,7 @@ def testCoreProject_AccessItems(mockGUI, fncPath, mockRnd): @pytest.mark.core def testCoreProject_StatusImport(mockGUI, fncPath, mockRnd): - """Test the status and importance flag handling. - """ + """Test the status and importance flag handling.""" theProject = NWProject(mockGUI) mockRnd.reset() buildTestProject(theProject, fncPath) @@ -506,7 +500,7 @@ def testCoreProject_Methods(monkeypatch, mockGUI, fncPath, mockRnd): assert theProject.data.spellLang is None theProject.data.setSpellLang(None) assert theProject.data.spellLang is None - theProject.data.setSpellLang("None") # Should be interpreded as None + theProject.data.setSpellLang("None") # Should be interpreted as None assert theProject.data.spellLang is None theProject.data.setSpellLang("en_GB") assert theProject.data.spellLang == "en_GB" @@ -589,7 +583,7 @@ def testCoreProject_OrphanedFiles(mockGUI, prjLipsum): assert theProject.tree["636b6aa9b697b"] is None # Add a file with non-existent parent - # This file will be renoved from the project on open + # This file will be removed from the project on open oHandle = theProject.newFile("Oops", "b3643d0f92e32") theProject.tree[oHandle].setParent("1234567890abc") @@ -663,7 +657,7 @@ def testCoreProject_OrphanedFiles(mockGUI, prjLipsum): def testCoreProject_Backup(monkeypatch, mockGUI, fncPath, tstPaths): """Test the automated backup feature of the project class. The test creates a backup of the Minimal test project, and then unzips the - backupd file and checks that the project XML file is identical to + backup file and checks that the project XML file is identical to the original file. """ theProject = NWProject(mockGUI) diff --git a/tests/test_core/test_core_projectxml.py b/tests/test_core/test_core_projectxml.py index d3108b72..1e233ee4 100644 --- a/tests/test_core/test_core_projectxml.py +++ b/tests/test_core/test_core_projectxml.py @@ -89,7 +89,7 @@ def testCoreProjectXML_ReadCurrent(monkeypatch, tstPaths, fncPath): assert xmlReader.read(data, content) is False assert xmlReader.state == XMLReadState.UNKNOWN_VERSION - # Check parsing of unkown sections + # Check parsing of unknown sections writeFile(xmlFile, ( "" " " @@ -243,8 +243,7 @@ def testCoreProjectXML_ReadCurrent(monkeypatch, tstPaths, fncPath): @pytest.mark.core def testCoreProjectXML_ReadLegacy10(tstPaths, fncPath, mockRnd): - """Test reading the version 1.0 XML file format. - """ + """Test reading the version 1.0 XML file format.""" refFile = tstPaths.filesDir / "nwProject-1.0.nwx" xmlFile = fncPath / "nwProject-1.0.nwx" outFile = fncPath / "nwProject.nwx" diff --git a/tests/test_core/test_core_sessions.py b/tests/test_core/test_core_sessions.py index d7ee58f1..3f1353af 100644 --- a/tests/test_core/test_core_sessions.py +++ b/tests/test_core/test_core_sessions.py @@ -41,7 +41,7 @@ def testCoreSessions_Main(monkeypatch, mockGUI, fncPath): logFile = project.storage.getMetaFile(nwFiles.SESS_FILE) assert isinstance(logFile, Path) - # Set some moch word counts + # Set some mock word counts project.data.setInitCounts(50, 60) project.data.setCurrCounts(160, 150) diff --git a/tests/test_core/test_core_tokenizer.py b/tests/test_core/test_core_tokenizer.py index 7818648f..5214b925 100644 --- a/tests/test_core/test_core_tokenizer.py +++ b/tests/test_core/test_core_tokenizer.py @@ -35,8 +35,7 @@ class BareTokenizer(Tokenizer): @pytest.mark.core def testCoreToken_Setters(mockGUI): - """Test all the setters for the Tokenizer class. - """ + """Test all the setters for the Tokenizer class.""" theProject = NWProject(mockGUI) theToken = BareTokenizer(theProject) @@ -133,8 +132,7 @@ def testCoreToken_Setters(mockGUI): @pytest.mark.core def testCoreToken_TextOps(monkeypatch, mockGUI, mockRnd, fncPath): - """Test handling files and text in the Tokenizer class. - """ + """Test handling files and text in the Tokenizer class.""" theProject = NWProject(mockGUI) mockRnd.reset() buildTestProject(theProject, fncPath) @@ -212,7 +210,7 @@ def testCoreToken_TextOps(monkeypatch, mockGUI, mockRnd, fncPath): "# Notes: Plot\n\n" ) - # Ckeck abstract method + # Check abstract method with pytest.raises(NotImplementedError): theToken.doConvert() @@ -221,8 +219,7 @@ def testCoreToken_TextOps(monkeypatch, mockGUI, mockRnd, fncPath): @pytest.mark.core def testCoreToken_StripEscape(): - """Test the stripEscape helper function. - """ + """Test the stripEscape helper function.""" text1 = "This is text with escapes: \\** \\~~ \\__" text2 = "This is text with escapes: ** ~~ __" assert stripEscape(text1) == "This is text with escapes: ** ~~ __" @@ -233,8 +230,7 @@ def testCoreToken_StripEscape(): @pytest.mark.core def testCoreToken_HeaderFormat(mockGUI): - """Test the tokenization of header formats in the Tokenizer class. - """ + """Test the tokenization of header formats in the Tokenizer class.""" theProject = NWProject(mockGUI) theToken = BareTokenizer(theProject) theToken.setKeepMarkdown(True) @@ -437,8 +433,7 @@ def testCoreToken_HeaderFormat(mockGUI): @pytest.mark.core def testCoreToken_MetaFormat(mockGUI): - """Test the tokenization of meta formats in the Tokenizer class. - """ + """Test the tokenization of meta formats in the Tokenizer class.""" theProject = NWProject(mockGUI) theToken = BareTokenizer(theProject) theToken.setKeepMarkdown(True) @@ -456,7 +451,7 @@ def testCoreToken_MetaFormat(mockGUI): theToken.tokenizeText() assert theToken.theMarkdown[-1] == "% A comment\n\n" - # Symopsis + # Synopsis theToken._text = "%synopsis: The synopsis\n" theToken.tokenizeText() assert theToken._tokens == [ @@ -506,8 +501,7 @@ def testCoreToken_MetaFormat(mockGUI): @pytest.mark.core def testCoreToken_MarginFormat(mockGUI): - """Test the tokenization of margin formats in the Tokenizer class. - """ + """Test the tokenization of margin formats in the Tokenizer class.""" theProject = NWProject(mockGUI) theToken = BareTokenizer(theProject) theToken.setKeepMarkdown(True) @@ -561,8 +555,7 @@ def testCoreToken_MarginFormat(mockGUI): @pytest.mark.core def testCoreToken_TextFormat(mockGUI): - """Test the tokenization of text formats in the Tokenizer class. - """ + """Test the tokenization of text formats in the Tokenizer class.""" theProject = NWProject(mockGUI) theToken = BareTokenizer(theProject) theToken.setKeepMarkdown(True) @@ -683,8 +676,7 @@ def testCoreToken_TextFormat(mockGUI): @pytest.mark.core def testCoreToken_SpecialFormat(mockGUI): - """Test the tokenization of special formats in the Tokenizer class. - """ + """Test the tokenization of special formats in the Tokenizer class.""" theProject = NWProject(mockGUI) theToken = BareTokenizer(theProject) @@ -886,8 +878,7 @@ def testCoreToken_SpecialFormat(mockGUI): @pytest.mark.core def testCoreToken_ProcessHeaders(mockGUI): - """Test the header and page parser of the Tokenizer class. - """ + """Test the header and page parser of the Tokenizer class.""" theProject = NWProject(mockGUI) theProject.data.setLanguage("en") theProject._loadProjectLocalisation() diff --git a/tests/test_core/test_core_tomd.py b/tests/test_core/test_core_tomd.py index e4df4bbb..f03ee8f5 100644 --- a/tests/test_core/test_core_tomd.py +++ b/tests/test_core/test_core_tomd.py @@ -29,7 +29,8 @@ from novelwriter.core.project import NWProject @pytest.mark.core def testCoreToMarkdown_ConvertFormat(mockGUI): - """Test the tokenizer and converter chain using the ToMarkdown class. + """Test the tokenizer and converter chain using the ToMarkdown + class. """ theProject = NWProject(mockGUI) theMD = ToMarkdown(theProject) @@ -157,8 +158,7 @@ def testCoreToMarkdown_ConvertFormat(mockGUI): @pytest.mark.core def testCoreToMarkdown_ConvertDirect(mockGUI): - """Test the converter directly using the ToMarkdown class. - """ + """Test the converter directly using the ToMarkdown class.""" theProject = NWProject(mockGUI) theMD = ToMarkdown(theProject) @@ -208,8 +208,7 @@ def testCoreToMarkdown_ConvertDirect(mockGUI): @pytest.mark.core def testCoreToMarkdown_Complex(mockGUI, fncPath): - """Test the save method of the ToMarkdown class. - """ + """Test the save method of the ToMarkdown class.""" theProject = NWProject(mockGUI) theMD = ToMarkdown(theProject) theMD._isNovel = True @@ -261,8 +260,7 @@ def testCoreToMarkdown_Complex(mockGUI, fncPath): @pytest.mark.core def testCoreToMarkdown_Format(mockGUI): - """Test all the formatters for the ToMarkdown class. - """ + """Test all the formatters for the ToMarkdown class.""" theProject = NWProject(mockGUI) theMD = ToMarkdown(theProject) diff --git a/tests/test_core/test_core_tree.py b/tests/test_core/test_core_tree.py index 746e0539..1f894a8f 100644 --- a/tests/test_core/test_core_tree.py +++ b/tests/test_core/test_core_tree.py @@ -36,8 +36,7 @@ from novelwriter.core.project import NWProject @pytest.fixture(scope="function") def mockItems(mockGUI, mockRnd): - """Create a list of mock items. - """ + """Create a list of mock items.""" theProject = NWProject(mockGUI) itemA = NWItem(theProject) @@ -113,8 +112,7 @@ def mockItems(mockGUI, mockRnd): @pytest.mark.core def testCoreTree_BuildTree(mockGUI, mockItems): - """Test building a project tree from a list of items. - """ + """Test building a project tree from a list of items.""" theProject = NWProject(mockGUI) theTree = NWTree(theProject) @@ -232,8 +230,7 @@ def testCoreTree_BuildTree(mockGUI, mockItems): @pytest.mark.core def testCoreTree_PackUnpack(mockGUI, mockItems): - """Test packing and unpacking data. - """ + """Test packing and unpacking data.""" theProject = NWProject(mockGUI) theTree = NWTree(theProject) @@ -262,8 +259,7 @@ def testCoreTree_PackUnpack(mockGUI, mockItems): @pytest.mark.core def testCoreTree_Methods(mockGUI, mockItems): - """Test various class methods. - """ + """Test various class methods.""" theProject = NWProject(mockGUI) theTree = NWTree(theProject) @@ -343,8 +339,7 @@ def testCoreTree_Methods(mockGUI, mockItems): @pytest.mark.core def testCoreTree_MakeHandles(mockGUI): - """Test generating item handles. - """ + """Test generating item handles.""" random.seed(42) theProject = NWProject(mockGUI) theTree = NWTree(theProject) @@ -373,8 +368,7 @@ def testCoreTree_MakeHandles(mockGUI): @pytest.mark.core def testCoreTree_Stats(mockGUI, mockItems): - """Test project stats methods. - """ + """Test project stats methods.""" theProject = NWProject(mockGUI) theTree = NWTree(theProject) @@ -394,8 +388,7 @@ def testCoreTree_Stats(mockGUI, mockItems): @pytest.mark.core def testCoreTree_Reorder(caplog, mockGUI, mockItems): - """Test changing tree order. - """ + """Test changing tree order.""" theProject = NWProject(mockGUI) theTree = NWTree(theProject) @@ -430,8 +423,7 @@ def testCoreTree_Reorder(caplog, mockGUI, mockItems): @pytest.mark.core def testCoreTree_ToCFile(monkeypatch, tstPaths, mockGUI, mockItems): - """Test writing the ToC.txt file. - """ + """Test writing the ToC.txt file.""" theProject = NWProject(mockGUI) theTree = NWTree(theProject) diff --git a/tests/test_dialogs/test_dlg_about.py b/tests/test_dialogs/test_dlg_about.py index 71f7771b..c3261eae 100644 --- a/tests/test_dialogs/test_dlg_about.py +++ b/tests/test_dialogs/test_dlg_about.py @@ -32,8 +32,7 @@ from novelwriter.dialogs.about import GuiAbout @pytest.mark.gui def testDlgAbout_NWDialog(qtbot, monkeypatch, nwGUI): - """Test the novelWriter about dialogs. - """ + """Test the novelWriter about dialogs.""" # NW About nwGUI.mainTheme.themeName = "A Theme" nwGUI.mainTheme.themeAuthor = "An Author" @@ -72,12 +71,11 @@ def testDlgAbout_NWDialog(qtbot, monkeypatch, nwGUI): @pytest.mark.gui def testDlgAbout_QtDialog(monkeypatch, nwGUI): - """Test the Qt about dialogs. - """ + """Test the Qt about dialogs.""" monkeypatch.setattr(QMessageBox, "aboutQt", lambda *a, **k: None) # Open About - # All it can do is check aigainst a crash + # All it can do is check against a crash assert nwGUI.showAboutQtDialog() is True nwGUI.mainMenu.aAboutQt.activate(QAction.Trigger) diff --git a/tests/test_dialogs/test_dlg_dialogs.py b/tests/test_dialogs/test_dlg_dialogs.py index cc2e6223..39c8c770 100644 --- a/tests/test_dialogs/test_dlg_dialogs.py +++ b/tests/test_dialogs/test_dlg_dialogs.py @@ -31,8 +31,7 @@ from novelwriter.dialogs.editlabel import GuiEditLabel @pytest.mark.gui def testDlgOther_QuoteSelect(qtbot, nwGUI): - """Test the quote symbols dialog. - """ + """Test the quote symbols dialog.""" nwQuot = GuiQuoteSelect(nwGUI) nwQuot.show() @@ -58,8 +57,7 @@ def testDlgOther_QuoteSelect(qtbot, nwGUI): @pytest.mark.gui def testDlgOther_Updates(qtbot, monkeypatch, nwGUI): - """Test the check for updates dialog. - """ + """Test the check for updates dialog.""" nwUpdate = GuiUpdates(nwGUI) nwUpdate.show() @@ -97,8 +95,7 @@ def testDlgOther_Updates(qtbot, monkeypatch, nwGUI): @pytest.mark.gui def testDlgOther_EditLabel(qtbot, monkeypatch): - """Test the label editor dialog. - """ + """Test the label editor dialog.""" monkeypatch.setattr(GuiEditLabel, "exec_", lambda *a: None) with monkeypatch.context() as mp: diff --git a/tests/test_dialogs/test_dlg_docsplit.py b/tests/test_dialogs/test_dlg_docsplit.py index 34463b88..63d21e51 100644 --- a/tests/test_dialogs/test_dlg_docsplit.py +++ b/tests/test_dialogs/test_dlg_docsplit.py @@ -29,8 +29,7 @@ from novelwriter.dialogs.editlabel import GuiEditLabel @pytest.mark.gui def testDlgSplit_Main(qtbot, monkeypatch, nwGUI, projPath, mockRnd): - """Test the split document tool. - """ + """Test the split document tool.""" monkeypatch.setattr(GuiEditLabel, "getLabel", lambda *a, text: (text, True)) # Create a new project @@ -64,7 +63,7 @@ def testDlgSplit_Main(qtbot, monkeypatch, nwGUI, projPath, mockRnd): nwSplit.show() qtbot.addWidget(nwSplit) - # By default, only up to level three headinsg should be listed + # By default, only up to level three headings should be listed assert nwSplit.splitLevel.currentData() == 3 assert nwSplit.listBox.count() == 11 diff --git a/tests/test_gui/test_gui_doceditor.py b/tests/test_gui/test_gui_doceditor.py index 90032a57..25769dbf 100644 --- a/tests/test_gui/test_gui_doceditor.py +++ b/tests/test_gui/test_gui_doceditor.py @@ -39,8 +39,7 @@ KEY_DELAY = 1 @pytest.mark.gui def testGuiEditor_Init(qtbot, nwGUI, projPath, ipsumText, mockRnd): - """Test initialising the editor. - """ + """Test initialising the editor.""" # Open project buildTestProject(nwGUI, projPath) assert nwGUI.openDocument(C.hSceneDoc) @@ -82,8 +81,7 @@ def testGuiEditor_Init(qtbot, nwGUI, projPath, ipsumText, mockRnd): @pytest.mark.gui def testGuiEditor_LoadText(qtbot, monkeypatch, caplog, nwGUI, projPath, ipsumText, mockRnd): - """Test loading text into the editor. - """ + """Test loading text into the editor.""" buildTestProject(nwGUI, projPath) assert nwGUI.openDocument(C.hSceneDoc) is True @@ -137,8 +135,7 @@ def testGuiEditor_LoadText(qtbot, monkeypatch, caplog, nwGUI, projPath, ipsumTex @pytest.mark.gui def testGuiEditor_SaveText(qtbot, monkeypatch, caplog, nwGUI, projPath, ipsumText, mockRnd): - """Test saving text from the editor. - """ + """Test saving text from the editor.""" buildTestProject(nwGUI, projPath) assert nwGUI.openDocument(C.hSceneDoc) is True @@ -154,7 +151,7 @@ def testGuiEditor_SaveText(qtbot, monkeypatch, caplog, nwGUI, projPath, ipsumTex assert nwGUI.docEditor.saveText() is False nwGUI.docEditor._nwItem = nwItem - # Unkown handle + # Unknown handle nwGUI.docEditor._docHandle = "0123456789abcdef" assert nwGUI.docEditor.saveText() is False nwGUI.docEditor._docHandle = C.hSceneDoc @@ -181,8 +178,7 @@ def testGuiEditor_SaveText(qtbot, monkeypatch, caplog, nwGUI, projPath, ipsumTex @pytest.mark.gui def testGuiEditor_MetaData(qtbot, nwGUI, projPath, mockRnd): - """Test extracting various meta data and other values. - """ + """Test extracting various meta data and other values.""" buildTestProject(nwGUI, projPath) assert nwGUI.openDocument(C.hSceneDoc) is True @@ -461,8 +457,7 @@ def testGuiEditor_Actions(qtbot, nwGUI, projPath, ipsumText, mockRnd): @pytest.mark.gui def testGuiEditor_Insert(qtbot, monkeypatch, nwGUI, projPath, ipsumText, mockRnd): - """Test the document insert functions. - """ + """Test the document insert functions.""" buildTestProject(nwGUI, projPath) assert nwGUI.openDocument(C.hSceneDoc) is True @@ -544,8 +539,7 @@ def testGuiEditor_Insert(qtbot, monkeypatch, nwGUI, projPath, ipsumText, mockRnd @pytest.mark.gui def testGuiEditor_TextManipulation(qtbot, monkeypatch, nwGUI, projPath, ipsumText, mockRnd): - """Test the text manipulation functions. - """ + """Test the text manipulation functions.""" buildTestProject(nwGUI, projPath) assert nwGUI.openDocument(C.hSceneDoc) is True @@ -751,8 +745,7 @@ def testGuiEditor_TextManipulation(qtbot, monkeypatch, nwGUI, projPath, ipsumTex @pytest.mark.gui def testGuiEditor_BlockFormatting(qtbot, monkeypatch, nwGUI, projPath, ipsumText, mockRnd): - """Test the block formatting function. - """ + """Test the block formatting function.""" buildTestProject(nwGUI, projPath) assert nwGUI.openDocument(C.hSceneDoc) is True @@ -1064,8 +1057,7 @@ def testGuiEditor_BlockFormatting(qtbot, monkeypatch, nwGUI, projPath, ipsumText @pytest.mark.gui def testGuiEditor_Tags(qtbot, nwGUI, projPath, ipsumText, mockRnd): - """Test the document editor tags functionality. - """ + """Test the document editor tags functionality.""" buildTestProject(nwGUI, projPath) assert nwGUI.openDocument(C.hSceneDoc) is True @@ -1123,8 +1115,7 @@ def testGuiEditor_Tags(qtbot, nwGUI, projPath, ipsumText, mockRnd): @pytest.mark.gui def testGuiEditor_WordCounters(qtbot, monkeypatch, nwGUI, projPath, ipsumText, mockRnd): - """Test saving text from the editor. - """ + """Test saving text from the editor.""" class MockThreadPool: def __init__(self): @@ -1204,8 +1195,7 @@ def testGuiEditor_WordCounters(qtbot, monkeypatch, nwGUI, projPath, ipsumText, m @pytest.mark.gui def testGuiEditor_Search(qtbot, monkeypatch, nwGUI, prjLipsum): - """Test the document editor search functionality. - """ + """Test the document editor search functionality.""" monkeypatch.setattr(GuiDocEditor, "hasFocus", lambda *a: True) assert nwGUI.openProject(prjLipsum) is True @@ -1413,8 +1403,7 @@ def testGuiEditor_Search(qtbot, monkeypatch, nwGUI, prjLipsum): @pytest.mark.gui def testGuiEditor_StaticMethods(): - """Test the document editor's static methods. - """ + """Test the document editor's static methods.""" # Check the method that decides if it is allowed to insert a space # before a colon using the French, Spanish, etc language feature assert GuiDocEditor._allowSpaceBeforeColon("", "") is True diff --git a/tests/test_gui/test_gui_docviewer.py b/tests/test_gui/test_gui_docviewer.py index 9b524d31..45d3caec 100644 --- a/tests/test_gui/test_gui_docviewer.py +++ b/tests/test_gui/test_gui_docviewer.py @@ -34,8 +34,7 @@ from novelwriter.core.tohtml import ToHtml @pytest.mark.gui def testGuiViewer_Main(qtbot, monkeypatch, nwGUI, prjLipsum): - """Test the document viewer. - """ + """Test the document viewer.""" # Open project assert nwGUI.openProject(prjLipsum) @@ -135,7 +134,7 @@ def testGuiViewer_Main(qtbot, monkeypatch, nwGUI, prjLipsum): nwGUI.docViewer.updateDocInfo("4c4f28287af27") assert nwGUI.docViewer.docHeader.theTitle.text() == "Characters › Test Title" - # Ttile without full path + # Title without full path CONFIG.showFullPath = False nwGUI.docViewer.updateDocInfo("4c4f28287af27") assert nwGUI.docViewer.docHeader.theTitle.text() == "Test Title" diff --git a/tests/test_gui/test_gui_mainmenu.py b/tests/test_gui/test_gui_mainmenu.py index 2aaa851b..367ba3c7 100644 --- a/tests/test_gui/test_gui_mainmenu.py +++ b/tests/test_gui/test_gui_mainmenu.py @@ -94,6 +94,7 @@ def testGuiMenu_EditFormat(qtbot, monkeypatch, nwGUI, prjLipsum): # Block Formats # ============= + # cSpell:ignore Pellentesque erat nulla posuere commodo assert nwGUI.docEditor.setCursorPosition(42) # Header 1 diff --git a/tests/test_gui/test_gui_noveltree.py b/tests/test_gui/test_gui_noveltree.py index 79497f57..789f6225 100644 --- a/tests/test_gui/test_gui_noveltree.py +++ b/tests/test_gui/test_gui_noveltree.py @@ -97,7 +97,7 @@ def testGuiNovelTree_TreeItems(qtbot, monkeypatch, nwGUI, projPath, mockRnd): assert novelTree.selectedItems()[0] == topItem assert novelView.getSelectedHandle() == (C.hTitlePage, "T0001") - # Refresh using the slot for the butoom + # Refresh using the slot for the button novelBar._refreshNovelTree() assert novelTree.topLevelItem(0).isSelected() diff --git a/tests/test_gui/test_gui_projtree.py b/tests/test_gui/test_gui_projtree.py index dce031f9..e538e97b 100644 --- a/tests/test_gui/test_gui_projtree.py +++ b/tests/test_gui/test_gui_projtree.py @@ -454,7 +454,7 @@ def testGuiProjTree_PermanentlyDeleteItem(qtbot, caplog, monkeypatch, nwGUI, pro assert C.hTitlePage not in theProject.tree assert nwGUI.docEditor.docHandle() is None - # Deleting folder + files recursiely is ok + # Deleting folder + files recursively is ok assert projTree.permanentlyDeleteItem(C.hChapterDir) is True assert C.hChapterDir not in theProject.tree assert C.hChapterDoc not in theProject.tree @@ -509,7 +509,7 @@ def testGuiProjTree_EmptyTrash(qtbot, caplog, monkeypatch, nwGUI, projPath, mock assert C.hChapterDoc not in theProject.tree assert C.hSceneDoc not in theProject.tree - # Running Emtpy Trash again is cancelled due to empty folder + # Running Empty Trash again is cancelled due to empty folder assert projTree.emptyTrash() is False nwGUI.closeProject() @@ -557,7 +557,7 @@ def testGuiProjTree_ContextMenu(qtbot, monkeypatch, nwGUI, projPath, mockRnd): # No item under menu assert projTree._openContextMenu(projTree.viewport().rect().bottomRight()) is False - # Generate the possible menu combinarions + # Generate the possible menu combinations assert projTree._openContextMenu(itemPos(hTrashRoot)) is True assert projTree._openContextMenu(itemPos(C.hNovelRoot)) is True assert projTree._openContextMenu(itemPos(hNovelNote)) is True @@ -936,7 +936,7 @@ def testGuiProjTree_Other(qtbot, monkeypatch, nwGUI, projPath, mockRnd): # Send invalid handle assert projTree.revealNewTreeItem(C.hInvalid) is False - # Try to add an oprhaned file to the tree + # Try to add an orphaned file to the tree nHandle = nwGUI.theProject.newFile("Test", C.hNovelRoot) nwGUI.theProject.tree[nHandle].setParent(None) assert projTree.revealNewTreeItem(nHandle) is False diff --git a/tests/test_gui/test_gui_theme.py b/tests/test_gui/test_gui_theme.py index 17797aab..9d193480 100644 --- a/tests/test_gui/test_gui_theme.py +++ b/tests/test_gui/test_gui_theme.py @@ -349,7 +349,7 @@ def testGuiTheme_Icons(qtbot, caplog, monkeypatch, nwGUI, tstPaths): assert isinstance(qIcon, QIcon) assert qIcon.isNull() is True - # Load an icon, it is likelyu already cached + # Load an icon, it is likely already cached qIcon = iconCache.getIcon("add") assert isinstance(qIcon, QIcon) assert qIcon.isNull() is False diff --git a/tests/test_tools/test_tools_manuscript.py b/tests/test_tools/test_tools_manuscript.py index d578fffc..3f2bcdb6 100644 --- a/tests/test_tools/test_tools_manuscript.py +++ b/tests/test_tools/test_tools_manuscript.py @@ -151,7 +151,7 @@ def testManuscript_Builds(qtbot: QtBot, nwGUI: GuiMain, projPath: Path): @pytest.mark.gui def testManuscript_Features(monkeypatch, qtbot: QtBot, nwGUI: GuiMain, projPath: Path): - """Test other featurs of the GuiManuscript dialog.""" + """Test other features of the GuiManuscript dialog.""" buildTestProject(nwGUI, projPath) nwGUI.openProject(projPath)