Merge branch 'dev' into feature/build_gui

This commit is contained in:
Veronica Berglyd Olsen
2023-04-16 19:46:54 +02:00
20 changed files with 1058 additions and 976 deletions
+14 -7
View File
@@ -378,7 +378,7 @@ def testCoreToHtml_ConvertDirect(mockGUI):
@pytest.mark.core
def testCoreToHtml_SpecialCases(mockGUI):
"""Test some special cases that has caused errors in the past.
"""Test some special cases that have caused errors in the past.
"""
theProject = NWProject(mockGUI)
theHtml = ToHtml(theProject)
@@ -415,8 +415,8 @@ def testCoreToHtml_SpecialCases(mockGUI):
"<p>Test &gt; text <em>&lt;<strong>bold</strong>&gt;</em> and more.</p>\n"
)
# Test for bug #950
# =================
# Test for issue #950
# ===================
# See: https://github.com/vkbo/novelWriter/issues/950
theHtml.setComments(True)
@@ -436,6 +436,17 @@ def testCoreToHtml_SpecialCases(mockGUI):
"<h1 style='page-break-before: always;'>Heading &lt;1&gt;</h1>\n"
)
# Test for issue #1412
# ====================
# See: https://github.com/vkbo/novelWriter/issues/1412
theHtml._theText = "Test text \\**_bold_** and more.\n"
theHtml.tokenizeText()
theHtml.doConvert()
assert theHtml.theResult == (
"<p>Test text **<em>bold</em>** and more.</p>\n"
)
# END Test testCoreToHtml_SpecialCases
@@ -574,10 +585,6 @@ def testCoreToHtml_Methods(mockGUI):
assert theHtml.theMarkdown[-1] == (
"Text with <brackets> &amp; short&ndash;dash, long&mdash;dash &hellip;\n\n"
)
theHtml.doPostProcessing()
assert theHtml.theMarkdown[-1] == (
"Text with <brackets> &amp; short&ndash;dash, long&mdash;dash &hellip;\n\n"
)
# Result Size
assert theHtml.getFullResultSize() == 147
+13 -6
View File
@@ -24,7 +24,7 @@ import pytest
from tools import C, buildTestProject, readFile
from novelwriter.core.project import NWProject
from novelwriter.core.tokenizer import Tokenizer
from novelwriter.core.tokenizer import Tokenizer, stripEscape
class BareTokenizer(Tokenizer):
@@ -203,11 +203,6 @@ def testCoreToken_TextOps(monkeypatch, mockGUI, mockRnd, fncPath):
theToken.doPreProcessing()
assert theToken._theText == docTextR
# Post Processing
theToken._theResult = r"This is text with escapes: \** \~~ \__"
theToken.doPostProcessing()
assert theToken.theResult == "This is text with escapes: ** ~~ __"
# Save File
savePath = fncPath / "dump.nwd"
theToken.saveRawMarkdown(savePath)
@@ -223,6 +218,18 @@ def testCoreToken_TextOps(monkeypatch, mockGUI, mockRnd, fncPath):
# END Test testCoreToken_TextOps
@pytest.mark.core
def testCoreToken_StripEscape():
"""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: ** ~~ __"
assert stripEscape(text2) == "This is text with escapes: ** ~~ __"
# END Test testCoreToken_StripEscape
@pytest.mark.core
def testCoreToken_HeaderFormat(mockGUI):
"""Test the tokenization of header formats in the Tokenizer class.
+15 -1
View File
@@ -221,7 +221,21 @@ def testCoreToOdt_TextFormatting(mockGUI):
"</office:text>"
)
# Tabs and Breaks
# Test for issue #1412
# ====================
# See: https://github.com/vkbo/novelWriter/issues/1412
theDoc.initDocument()
theTxt = "Test text \\**_bold_** and more."
theFmt = " I i "
theDoc._addTextPar("Standard", oStyle, theTxt, theFmt=theFmt)
assert theDoc.getErrors() == []
assert xmlToText(theDoc._xText) == (
"<office:text>"
"<text:p text:style-name=\"Standard\">Test text **<text:span text:style-name=\"T2\">"
"bold</text:span>** and more.</text:p>"
"</office:text>"
)
# END Test testCoreToOdt_TextFormatting