Skip to content

Commit

Permalink
Add test coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
vkbo committed May 13, 2024
1 parent d64acb0 commit 1b4cc93
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 19 deletions.
6 changes: 4 additions & 2 deletions novelwriter/gui/dochighlight.py
Original file line number Diff line number Diff line change
Expand Up @@ -168,15 +168,17 @@ def initHighlighter(self) -> None:
}
self._txtRules.append((rxRule, hlRule))

if sym := CONFIG.dialogLine:
if CONFIG.dialogLine:
sym = QRegularExpression.escape(CONFIG.dialogLine)
rxRule = QRegularExpression(f"^{sym}.*?$")
rxRule.setPatternOptions(QRegExUnicode)
hlRule = {
0: self._hStyles["dialog"],
}
self._txtRules.append((rxRule, hlRule))

if sym := CONFIG.narratorBreak:
if CONFIG.narratorBreak:
sym = QRegularExpression.escape(CONFIG.narratorBreak)
rxRule = QRegularExpression(f"({sym}\\b)(.*?)(\\b{sym})")
rxRule.setPatternOptions(QRegExUnicode)
hlRule = {
Expand Down
11 changes: 7 additions & 4 deletions tests/reference/baseConfig_novelwriter.conf
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[Meta]
timestamp = 2024-04-13 18:57:38
timestamp = 2024-05-13 15:59:59

[Main]
theme = default
Expand Down Expand Up @@ -59,9 +59,12 @@ showlineendings = False
showmultispaces = True
incnoteswcount = True
showfullpath = True
highlightquotes = True
allowopensquote = False
allowopendquote = True
dialogstyle = 2
allowopendial = True
narratorbreak =
altdialogopen =
altdialogclose =
dialogline =
highlightemph = True
stopwhenidle = True
useridletime = 300
Expand Down
30 changes: 18 additions & 12 deletions tests/test_dialogs/test_dlg_preferences.py
Original file line number Diff line number Diff line change
Expand Up @@ -266,18 +266,21 @@ def pointSize(self):
assert CONFIG.autoScrollPos == 30

# Text Highlighting
prefs.allowOpenSQuote.setChecked(True)
prefs.allowOpenDQuote.setChecked(False)
prefs.highlightQuotes.setChecked(False)
prefs.dialogStyle.setCurrentData(3, 0)
prefs.allowOpenDial.setChecked(False)
prefs.narratorBreak.setText("–")
prefs.dialogLine.setText("–")
prefs.altDialogOpen.setText("<")
prefs.altDialogClose.setText(">")
prefs.highlightEmph.setChecked(False)
prefs.showMultiSpaces.setChecked(False)

assert prefs.allowOpenSQuote.isEnabled() is False
assert prefs.allowOpenDQuote.isEnabled() is False

assert CONFIG.highlightQuotes is True
assert CONFIG.allowOpenSQuote is False
assert CONFIG.allowOpenDQuote is True
assert CONFIG.dialogStyle == 2
assert CONFIG.allowOpenDial is True
assert CONFIG.narratorBreak == ""
assert CONFIG.dialogLine == ""
assert CONFIG.altDialogOpen == ""
assert CONFIG.altDialogClose == ""
assert CONFIG.highlightEmph is True
assert CONFIG.showMultiSpaces is True

Expand Down Expand Up @@ -384,9 +387,12 @@ def pointSize(self):
assert CONFIG.autoScrollPos == 31

# Text Highlighting
assert CONFIG.highlightQuotes is False
assert CONFIG.allowOpenSQuote is True
assert CONFIG.allowOpenDQuote is False
assert CONFIG.dialogStyle == 3
assert CONFIG.allowOpenDial is False
assert CONFIG.narratorBreak == "–"
assert CONFIG.dialogLine == "–"
assert CONFIG.altDialogOpen == "<"
assert CONFIG.altDialogClose == ">"
assert CONFIG.highlightEmph is False
assert CONFIG.showMultiSpaces is False

Expand Down
10 changes: 9 additions & 1 deletion tests/test_gui/test_gui_guimain.py
Original file line number Diff line number Diff line change
Expand Up @@ -231,7 +231,15 @@ def testGuiMain_Editing(qtbot, monkeypatch, nwGUI, projPath, tstPaths, mockRnd):
# Text Editor
# ===========

docEditor: GuiDocEditor = nwGUI.docEditor
# Syntax Highlighting
CONFIG.dialogStyle = 3
CONFIG.dialogLine = "–"
CONFIG.narratorBreak = "–"
CONFIG.altDialogOpen = "<|"
CONFIG.altDialogClose = "|>"

docEditor = nwGUI.docEditor
docEditor._qDocument.syntaxHighlighter.initHighlighter()

# Type something into the document
nwGUI.switchFocus(nwWidget.EDITOR)
Expand Down

0 comments on commit 1b4cc93

Please sign in to comment.