Update tests
This commit is contained in:
+261
-267
@@ -29,177 +29,176 @@ from novelwriter.core.project import NWProject
|
|||||||
|
|
||||||
@pytest.mark.core
|
@pytest.mark.core
|
||||||
def testCoreToHtml_ConvertFormat(mockGUI):
|
def testCoreToHtml_ConvertFormat(mockGUI):
|
||||||
"""Test the tokenizer and converter chain using the ToHtml class.
|
"""Test the tokenizer and converter chain using the ToHtml class."""
|
||||||
"""
|
project = NWProject()
|
||||||
theProject = NWProject()
|
html = ToHtml(project)
|
||||||
theHtml = ToHtml(theProject)
|
|
||||||
|
|
||||||
# Novel Files Headers
|
# Novel Files Headers
|
||||||
# ===================
|
# ===================
|
||||||
|
|
||||||
theHtml._isNovel = True
|
html._isNovel = True
|
||||||
theHtml._isNote = False
|
html._isNote = False
|
||||||
theHtml._isFirst = True
|
html._isFirst = True
|
||||||
|
|
||||||
# Header 1
|
# Header 1
|
||||||
theHtml._text = "# Partition\n"
|
html._text = "# Partition\n"
|
||||||
theHtml.tokenizeText()
|
html.tokenizeText()
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == (
|
assert html.theResult == (
|
||||||
"<h1 class='title' style='text-align: center;'>Partition</h1>\n"
|
"<h1 class='title' style='text-align: center;'>Partition</h1>\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Header 2
|
# Header 2
|
||||||
theHtml._text = "## Chapter Title\n"
|
html._text = "## Chapter Title\n"
|
||||||
theHtml.tokenizeText()
|
html.tokenizeText()
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == (
|
assert html.theResult == (
|
||||||
"<h1 style='page-break-before: always;'>Chapter Title</h1>\n"
|
"<h1 style='page-break-before: always;'>Chapter Title</h1>\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Header 3
|
# Header 3
|
||||||
theHtml._text = "### Scene Title\n"
|
html._text = "### Scene Title\n"
|
||||||
theHtml.tokenizeText()
|
html.tokenizeText()
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == "<h2>Scene Title</h2>\n"
|
assert html.theResult == "<h2>Scene Title</h2>\n"
|
||||||
|
|
||||||
# Header 4
|
# Header 4
|
||||||
theHtml._text = "#### Section Title\n"
|
html._text = "#### Section Title\n"
|
||||||
theHtml.tokenizeText()
|
html.tokenizeText()
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == "<h3>Section Title</h3>\n"
|
assert html.theResult == "<h3>Section Title</h3>\n"
|
||||||
|
|
||||||
# Title
|
# Title
|
||||||
theHtml._text = "#! Title\n"
|
html._text = "#! Title\n"
|
||||||
theHtml.tokenizeText()
|
html.tokenizeText()
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == (
|
assert html.theResult == (
|
||||||
"<h1 class='title' style='text-align: center;'>Title</h1>\n"
|
"<h1 class='title' style='text-align: center;'>Title</h1>\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Unnumbered
|
# Unnumbered
|
||||||
theHtml._text = "##! Prologue\n"
|
html._text = "##! Prologue\n"
|
||||||
theHtml.tokenizeText()
|
html.tokenizeText()
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == "<h1 style='page-break-before: always;'>Prologue</h1>\n"
|
assert html.theResult == "<h1 style='page-break-before: always;'>Prologue</h1>\n"
|
||||||
|
|
||||||
# Note Files Headers
|
# Note Files Headers
|
||||||
# ==================
|
# ==================
|
||||||
|
|
||||||
theHtml._isNovel = False
|
html._isNovel = False
|
||||||
theHtml._isNote = True
|
html._isNote = True
|
||||||
theHtml._isFirst = True
|
html._isFirst = True
|
||||||
theHtml.setLinkHeaders(True)
|
html.setLinkHeaders(True)
|
||||||
|
|
||||||
# Header 1
|
# Header 1
|
||||||
theHtml._text = "# Heading One\n"
|
html._text = "# Heading One\n"
|
||||||
theHtml.tokenizeText()
|
html.tokenizeText()
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == "<h1><a name='T000001'></a>Heading One</h1>\n"
|
assert html.theResult == "<h1><a name='T0001'></a>Heading One</h1>\n"
|
||||||
|
|
||||||
# Header 2
|
# Header 2
|
||||||
theHtml._text = "## Heading Two\n"
|
html._text = "## Heading Two\n"
|
||||||
theHtml.tokenizeText()
|
html.tokenizeText()
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == "<h2><a name='T000001'></a>Heading Two</h2>\n"
|
assert html.theResult == "<h2><a name='T0001'></a>Heading Two</h2>\n"
|
||||||
|
|
||||||
# Header 3
|
# Header 3
|
||||||
theHtml._text = "### Heading Three\n"
|
html._text = "### Heading Three\n"
|
||||||
theHtml.tokenizeText()
|
html.tokenizeText()
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == "<h3><a name='T000001'></a>Heading Three</h3>\n"
|
assert html.theResult == "<h3><a name='T0001'></a>Heading Three</h3>\n"
|
||||||
|
|
||||||
# Header 4
|
# Header 4
|
||||||
theHtml._text = "#### Heading Four\n"
|
html._text = "#### Heading Four\n"
|
||||||
theHtml.tokenizeText()
|
html.tokenizeText()
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == "<h4><a name='T000001'></a>Heading Four</h4>\n"
|
assert html.theResult == "<h4><a name='T0001'></a>Heading Four</h4>\n"
|
||||||
|
|
||||||
# Title
|
# Title
|
||||||
theHtml._text = "#! Heading One\n"
|
html._text = "#! Heading One\n"
|
||||||
theHtml.tokenizeText()
|
html.tokenizeText()
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == (
|
assert html.theResult == (
|
||||||
"<h1 style='text-align: center;'><a name='T000001'></a>Heading One</h1>\n"
|
"<h1 style='text-align: center;'><a name='T0001'></a>Heading One</h1>\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Unnumbered
|
# Unnumbered
|
||||||
theHtml._text = "##! Heading Two\n"
|
html._text = "##! Heading Two\n"
|
||||||
theHtml.tokenizeText()
|
html.tokenizeText()
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == "<h2><a name='T000001'></a>Heading Two</h2>\n"
|
assert html.theResult == "<h2><a name='T0001'></a>Heading Two</h2>\n"
|
||||||
|
|
||||||
# Paragraphs
|
# Paragraphs
|
||||||
# ==========
|
# ==========
|
||||||
|
|
||||||
# Text
|
# Text
|
||||||
theHtml._text = "Some **nested bold and _italic_ and ~~strikethrough~~ text** here\n"
|
html._text = "Some **nested bold and _italic_ and ~~strikethrough~~ text** here\n"
|
||||||
theHtml.tokenizeText()
|
html.tokenizeText()
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == (
|
assert html.theResult == (
|
||||||
"<p>Some <strong>nested bold and <em>italic</em> and "
|
"<p>Some <strong>nested bold and <em>italic</em> and "
|
||||||
"<del>strikethrough</del> text</strong> here</p>\n"
|
"<del>strikethrough</del> text</strong> here</p>\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Text w/Hard Break
|
# Text w/Hard Break
|
||||||
theHtml._text = "Line one \nLine two \nLine three\n"
|
html._text = "Line one \nLine two \nLine three\n"
|
||||||
theHtml.tokenizeText()
|
html.tokenizeText()
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == (
|
assert html.theResult == (
|
||||||
"<p class='break'>Line one<br/>Line two<br/>Line three</p>\n"
|
"<p class='break'>Line one<br/>Line two<br/>Line three</p>\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Synopsis
|
# Synopsis
|
||||||
theHtml._text = "%synopsis: The synopsis ...\n"
|
html._text = "%synopsis: The synopsis ...\n"
|
||||||
theHtml.tokenizeText()
|
html.tokenizeText()
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == ""
|
assert html.theResult == ""
|
||||||
|
|
||||||
theHtml.setSynopsis(True)
|
html.setSynopsis(True)
|
||||||
theHtml._text = "%synopsis: The synopsis ...\n"
|
html._text = "%synopsis: The synopsis ...\n"
|
||||||
theHtml.tokenizeText()
|
html.tokenizeText()
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == (
|
assert html.theResult == (
|
||||||
"<p class='synopsis'><strong>Synopsis:</strong> The synopsis ...</p>\n"
|
"<p class='synopsis'><strong>Synopsis:</strong> The synopsis ...</p>\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Comment
|
# Comment
|
||||||
theHtml._text = "% A comment ...\n"
|
html._text = "% A comment ...\n"
|
||||||
theHtml.tokenizeText()
|
html.tokenizeText()
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == ""
|
assert html.theResult == ""
|
||||||
|
|
||||||
theHtml.setComments(True)
|
html.setComments(True)
|
||||||
theHtml._text = "% A comment ...\n"
|
html._text = "% A comment ...\n"
|
||||||
theHtml.tokenizeText()
|
html.tokenizeText()
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == (
|
assert html.theResult == (
|
||||||
"<p class='comment'><strong>Comment:</strong> A comment ...</p>\n"
|
"<p class='comment'><strong>Comment:</strong> A comment ...</p>\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Keywords
|
# Keywords
|
||||||
theHtml._text = "@char: Bod, Jane\n"
|
html._text = "@char: Bod, Jane\n"
|
||||||
theHtml.tokenizeText()
|
html.tokenizeText()
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == ""
|
assert html.theResult == ""
|
||||||
|
|
||||||
theHtml.setKeywords(True)
|
html.setKeywords(True)
|
||||||
theHtml._text = "@char: Bod, Jane\n"
|
html._text = "@char: Bod, Jane\n"
|
||||||
theHtml.tokenizeText()
|
html.tokenizeText()
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == (
|
assert html.theResult == (
|
||||||
"<p><span class='tags'>Characters:</span> "
|
"<p><span class='tags'>Characters:</span> "
|
||||||
"<a href='#tag_Bod'>Bod</a>, <a href='#tag_Jane'>Jane</a></p>\n"
|
"<a href='#tag_Bod'>Bod</a>, <a href='#tag_Jane'>Jane</a></p>\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Multiple Keywords
|
# Multiple Keywords
|
||||||
theHtml.setKeywords(True)
|
html.setKeywords(True)
|
||||||
theHtml._text = "## Chapter\n\n@pov: Bod\n@plot: Main\n@location: Europe\n\n"
|
html._text = "## Chapter\n\n@pov: Bod\n@plot: Main\n@location: Europe\n\n"
|
||||||
theHtml.tokenizeText()
|
html.tokenizeText()
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == (
|
assert html.theResult == (
|
||||||
"<h2>"
|
"<h2>"
|
||||||
"<a name='T000001'></a>Chapter</h2>\n"
|
"<a name='T0001'></a>Chapter</h2>\n"
|
||||||
"<p style='margin-bottom: 0;'>"
|
"<p style='margin-bottom: 0;'>"
|
||||||
"<span class='tags'>Point of View:</span> <a href='#tag_Bod'>Bod</a>"
|
"<span class='tags'>Point of View:</span> <a href='#tag_Bod'>Bod</a>"
|
||||||
"</p>\n"
|
"</p>\n"
|
||||||
@@ -214,13 +213,13 @@ def testCoreToHtml_ConvertFormat(mockGUI):
|
|||||||
# Preview Mode
|
# Preview Mode
|
||||||
# ============
|
# ============
|
||||||
|
|
||||||
theHtml.setPreview(True, True)
|
html.setPreview(True, True)
|
||||||
|
|
||||||
# Text (HTML4)
|
# Text (HTML4)
|
||||||
theHtml._text = "Some **nested bold and _italic_ and ~~strikethrough~~ text** here\n"
|
html._text = "Some **nested bold and _italic_ and ~~strikethrough~~ text** here\n"
|
||||||
theHtml.tokenizeText()
|
html.tokenizeText()
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == (
|
assert html.theResult == (
|
||||||
"<p>Some <b>nested bold and <i>italic</i> and "
|
"<p>Some <b>nested bold and <i>italic</i> and "
|
||||||
"<span style='text-decoration: line-through;'>strikethrough</span> "
|
"<span style='text-decoration: line-through;'>strikethrough</span> "
|
||||||
"text</b> here</p>\n"
|
"text</b> here</p>\n"
|
||||||
@@ -231,109 +230,108 @@ def testCoreToHtml_ConvertFormat(mockGUI):
|
|||||||
|
|
||||||
@pytest.mark.core
|
@pytest.mark.core
|
||||||
def testCoreToHtml_ConvertDirect(mockGUI):
|
def testCoreToHtml_ConvertDirect(mockGUI):
|
||||||
"""Test the converter directly using the ToHtml class.
|
"""Test the converter directly using the ToHtml class."""
|
||||||
"""
|
project = NWProject()
|
||||||
theProject = NWProject()
|
html = ToHtml(project)
|
||||||
theHtml = ToHtml(theProject)
|
|
||||||
|
|
||||||
theHtml._isNovel = True
|
html._isNovel = True
|
||||||
theHtml._isNote = False
|
html._isNote = False
|
||||||
theHtml.setLinkHeaders(True)
|
html.setLinkHeaders(True)
|
||||||
|
|
||||||
# Special Titles
|
# Special Titles
|
||||||
# ==============
|
# ==============
|
||||||
|
|
||||||
# Title
|
# Title
|
||||||
theHtml._tokens = [
|
html._tokens = [
|
||||||
(theHtml.T_TITLE, 1, "A Title", None, theHtml.A_PBB | theHtml.A_CENTRE),
|
(html.T_TITLE, 1, "A Title", None, html.A_PBB | html.A_CENTRE),
|
||||||
(theHtml.T_EMPTY, 1, "", None, theHtml.A_NONE),
|
(html.T_EMPTY, 1, "", None, html.A_NONE),
|
||||||
]
|
]
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == (
|
assert html.theResult == (
|
||||||
"<h1 class='title' style='text-align: center; page-break-before: always;'>"
|
"<h1 class='title' style='text-align: center; page-break-before: always;'>"
|
||||||
"<a name='T000001'></a>A Title</h1>\n"
|
"<a name='T0001'></a>A Title</h1>\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Unnumbered
|
# Unnumbered
|
||||||
theHtml._tokens = [
|
html._tokens = [
|
||||||
(theHtml.T_UNNUM, 1, "Prologue", None, theHtml.A_PBB),
|
(html.T_UNNUM, 1, "Prologue", None, html.A_PBB),
|
||||||
(theHtml.T_EMPTY, 1, "", None, theHtml.A_NONE),
|
(html.T_EMPTY, 1, "", None, html.A_NONE),
|
||||||
]
|
]
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == (
|
assert html.theResult == (
|
||||||
"<h1 style='page-break-before: always;'>"
|
"<h1 style='page-break-before: always;'>"
|
||||||
"<a name='T000001'></a>Prologue</h1>\n"
|
"<a name='T0001'></a>Prologue</h1>\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Separators
|
# Separators
|
||||||
# ==========
|
# ==========
|
||||||
|
|
||||||
# Separator
|
# Separator
|
||||||
theHtml._tokens = [
|
html._tokens = [
|
||||||
(theHtml.T_SEP, 1, "* * *", None, theHtml.A_CENTRE),
|
(html.T_SEP, 1, "* * *", None, html.A_CENTRE),
|
||||||
(theHtml.T_EMPTY, 1, "", None, theHtml.A_NONE),
|
(html.T_EMPTY, 1, "", None, html.A_NONE),
|
||||||
]
|
]
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == "<p class='sep' style='text-align: center;'>* * *</p>\n"
|
assert html.theResult == "<p class='sep' style='text-align: center;'>* * *</p>\n"
|
||||||
|
|
||||||
# Skip
|
# Skip
|
||||||
theHtml._tokens = [
|
html._tokens = [
|
||||||
(theHtml.T_SKIP, 1, "", None, theHtml.A_NONE),
|
(html.T_SKIP, 1, "", None, html.A_NONE),
|
||||||
(theHtml.T_EMPTY, 1, "", None, theHtml.A_NONE),
|
(html.T_EMPTY, 1, "", None, html.A_NONE),
|
||||||
]
|
]
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == "<p class='skip'> </p>\n"
|
assert html.theResult == "<p class='skip'> </p>\n"
|
||||||
|
|
||||||
# Alignment
|
# Alignment
|
||||||
# =========
|
# =========
|
||||||
|
|
||||||
theHtml.setLinkHeaders(False)
|
html.setLinkHeaders(False)
|
||||||
|
|
||||||
# Align Left
|
# Align Left
|
||||||
theHtml.setStyles(False)
|
html.setStyles(False)
|
||||||
theHtml._tokens = [
|
html._tokens = [
|
||||||
(theHtml.T_HEAD1, 1, "A Title", None, theHtml.A_LEFT),
|
(html.T_HEAD1, 1, "A Title", None, html.A_LEFT),
|
||||||
]
|
]
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == (
|
assert html.theResult == (
|
||||||
"<h1 class='title'>A Title</h1>\n"
|
"<h1 class='title'>A Title</h1>\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
theHtml.setStyles(True)
|
html.setStyles(True)
|
||||||
|
|
||||||
# Align Left
|
# Align Left
|
||||||
theHtml._tokens = [
|
html._tokens = [
|
||||||
(theHtml.T_HEAD1, 1, "A Title", None, theHtml.A_LEFT),
|
(html.T_HEAD1, 1, "A Title", None, html.A_LEFT),
|
||||||
]
|
]
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == (
|
assert html.theResult == (
|
||||||
"<h1 class='title' style='text-align: left;'>A Title</h1>\n"
|
"<h1 class='title' style='text-align: left;'>A Title</h1>\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Align Right
|
# Align Right
|
||||||
theHtml._tokens = [
|
html._tokens = [
|
||||||
(theHtml.T_HEAD1, 1, "A Title", None, theHtml.A_RIGHT),
|
(html.T_HEAD1, 1, "A Title", None, html.A_RIGHT),
|
||||||
]
|
]
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == (
|
assert html.theResult == (
|
||||||
"<h1 class='title' style='text-align: right;'>A Title</h1>\n"
|
"<h1 class='title' style='text-align: right;'>A Title</h1>\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Align Centre
|
# Align Centre
|
||||||
theHtml._tokens = [
|
html._tokens = [
|
||||||
(theHtml.T_HEAD1, 1, "A Title", None, theHtml.A_CENTRE),
|
(html.T_HEAD1, 1, "A Title", None, html.A_CENTRE),
|
||||||
]
|
]
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == (
|
assert html.theResult == (
|
||||||
"<h1 class='title' style='text-align: center;'>A Title</h1>\n"
|
"<h1 class='title' style='text-align: center;'>A Title</h1>\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Align Justify
|
# Align Justify
|
||||||
theHtml._tokens = [
|
html._tokens = [
|
||||||
(theHtml.T_HEAD1, 1, "A Title", None, theHtml.A_JUSTIFY),
|
(html.T_HEAD1, 1, "A Title", None, html.A_JUSTIFY),
|
||||||
]
|
]
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == (
|
assert html.theResult == (
|
||||||
"<h1 class='title' style='text-align: justify;'>A Title</h1>\n"
|
"<h1 class='title' style='text-align: justify;'>A Title</h1>\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -341,11 +339,11 @@ def testCoreToHtml_ConvertDirect(mockGUI):
|
|||||||
# ==========
|
# ==========
|
||||||
|
|
||||||
# Page Break Always
|
# Page Break Always
|
||||||
theHtml._tokens = [
|
html._tokens = [
|
||||||
(theHtml.T_HEAD1, 1, "A Title", None, theHtml.A_PBB | theHtml.A_PBA),
|
(html.T_HEAD1, 1, "A Title", None, html.A_PBB | html.A_PBA),
|
||||||
]
|
]
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == (
|
assert html.theResult == (
|
||||||
"<h1 class='title' "
|
"<h1 class='title' "
|
||||||
"style='page-break-before: always; page-break-after: always;'>A Title</h1>\n"
|
"style='page-break-before: always; page-break-after: always;'>A Title</h1>\n"
|
||||||
)
|
)
|
||||||
@@ -354,22 +352,22 @@ def testCoreToHtml_ConvertDirect(mockGUI):
|
|||||||
# ======
|
# ======
|
||||||
|
|
||||||
# Indent Left
|
# Indent Left
|
||||||
theHtml._tokens = [
|
html._tokens = [
|
||||||
(theHtml.T_TEXT, 1, "Some text ...", [], theHtml.A_IND_L),
|
(html.T_TEXT, 1, "Some text ...", [], html.A_IND_L),
|
||||||
(theHtml.T_EMPTY, 2, "", None, theHtml.A_NONE),
|
(html.T_EMPTY, 2, "", None, html.A_NONE),
|
||||||
]
|
]
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == (
|
assert html.theResult == (
|
||||||
"<p style='margin-left: 40px;'>Some text ...</p>\n"
|
"<p style='margin-left: 40px;'>Some text ...</p>\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Indent Right
|
# Indent Right
|
||||||
theHtml._tokens = [
|
html._tokens = [
|
||||||
(theHtml.T_TEXT, 1, "Some text ...", [], theHtml.A_IND_R),
|
(html.T_TEXT, 1, "Some text ...", [], html.A_IND_R),
|
||||||
(theHtml.T_EMPTY, 2, "", None, theHtml.A_NONE),
|
(html.T_EMPTY, 2, "", None, html.A_NONE),
|
||||||
]
|
]
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == (
|
assert html.theResult == (
|
||||||
"<p style='margin-right: 40px;'>Some text ...</p>\n"
|
"<p style='margin-right: 40px;'>Some text ...</p>\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -378,40 +376,39 @@ def testCoreToHtml_ConvertDirect(mockGUI):
|
|||||||
|
|
||||||
@pytest.mark.core
|
@pytest.mark.core
|
||||||
def testCoreToHtml_SpecialCases(mockGUI):
|
def testCoreToHtml_SpecialCases(mockGUI):
|
||||||
"""Test some special cases that have caused errors in the past.
|
"""Test some special cases that have caused errors in the past."""
|
||||||
"""
|
project = NWProject()
|
||||||
theProject = NWProject()
|
html = ToHtml(project)
|
||||||
theHtml = ToHtml(theProject)
|
html._isNovel = True
|
||||||
theHtml._isNovel = True
|
|
||||||
|
|
||||||
# Greater/Lesser than symbols
|
# Greater/Lesser than symbols
|
||||||
# ===========================
|
# ===========================
|
||||||
|
|
||||||
theHtml._text = "Text with > and < with some **bold text** in it.\n"
|
html._text = "Text with > and < with some **bold text** in it.\n"
|
||||||
theHtml.tokenizeText()
|
html.tokenizeText()
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == (
|
assert html.theResult == (
|
||||||
"<p>Text with > and < with some <strong>bold text</strong> in it.</p>\n"
|
"<p>Text with > and < with some <strong>bold text</strong> in it.</p>\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
theHtml._text = "Text with some <**bold text**> in it.\n"
|
html._text = "Text with some <**bold text**> in it.\n"
|
||||||
theHtml.tokenizeText()
|
html.tokenizeText()
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == (
|
assert html.theResult == (
|
||||||
"<p>Text with some <<strong>bold text</strong>> in it.</p>\n"
|
"<p>Text with some <<strong>bold text</strong>> in it.</p>\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
theHtml._text = "Let's > be > _difficult **shall** > we_?\n"
|
html._text = "Let's > be > _difficult **shall** > we_?\n"
|
||||||
theHtml.tokenizeText()
|
html.tokenizeText()
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == (
|
assert html.theResult == (
|
||||||
"<p>Let's > be > <em>difficult <strong>shall</strong> > we</em>?</p>\n"
|
"<p>Let's > be > <em>difficult <strong>shall</strong> > we</em>?</p>\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
theHtml._text = "Test > text _<**bold**>_ and more.\n"
|
html._text = "Test > text _<**bold**>_ and more.\n"
|
||||||
theHtml.tokenizeText()
|
html.tokenizeText()
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == (
|
assert html.theResult == (
|
||||||
"<p>Test > text <em><<strong>bold</strong>></em> and more.</p>\n"
|
"<p>Test > text <em><<strong>bold</strong>></em> and more.</p>\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -419,20 +416,20 @@ def testCoreToHtml_SpecialCases(mockGUI):
|
|||||||
# ===================
|
# ===================
|
||||||
# See: https://github.com/vkbo/novelWriter/issues/950
|
# See: https://github.com/vkbo/novelWriter/issues/950
|
||||||
|
|
||||||
theHtml.setComments(True)
|
html.setComments(True)
|
||||||
theHtml._text = "% Test > text _<**bold**>_ and more.\n"
|
html._text = "% Test > text _<**bold**>_ and more.\n"
|
||||||
theHtml.tokenizeText()
|
html.tokenizeText()
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == (
|
assert html.theResult == (
|
||||||
"<p class='comment'>"
|
"<p class='comment'>"
|
||||||
"<strong>Comment:</strong> Test > text _<**bold**>_ and more."
|
"<strong>Comment:</strong> Test > text _<**bold**>_ and more."
|
||||||
"</p>\n"
|
"</p>\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
theHtml._text = "## Heading <1>\n"
|
html._text = "## Heading <1>\n"
|
||||||
theHtml.tokenizeText()
|
html.tokenizeText()
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == (
|
assert html.theResult == (
|
||||||
"<h1 style='page-break-before: always;'>Heading <1></h1>\n"
|
"<h1 style='page-break-before: always;'>Heading <1></h1>\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -440,10 +437,10 @@ def testCoreToHtml_SpecialCases(mockGUI):
|
|||||||
# ====================
|
# ====================
|
||||||
# See: https://github.com/vkbo/novelWriter/issues/1412
|
# See: https://github.com/vkbo/novelWriter/issues/1412
|
||||||
|
|
||||||
theHtml._text = "Test text \\**_bold_** and more.\n"
|
html._text = "Test text \\**_bold_** and more.\n"
|
||||||
theHtml.tokenizeText()
|
html.tokenizeText()
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == (
|
assert html.theResult == (
|
||||||
"<p>Test text **<em>bold</em>** and more.</p>\n"
|
"<p>Test text **<em>bold</em>** and more.</p>\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -452,11 +449,10 @@ def testCoreToHtml_SpecialCases(mockGUI):
|
|||||||
|
|
||||||
@pytest.mark.core
|
@pytest.mark.core
|
||||||
def testCoreToHtml_Complex(mockGUI, fncPath):
|
def testCoreToHtml_Complex(mockGUI, fncPath):
|
||||||
"""Test the save method of the ToHtml class.
|
"""Test the save method of the ToHtml class."""
|
||||||
"""
|
project = NWProject()
|
||||||
theProject = NWProject()
|
html = ToHtml(project)
|
||||||
theHtml = ToHtml(theProject)
|
html._isNovel = True
|
||||||
theHtml._isNovel = True
|
|
||||||
|
|
||||||
# Build Project
|
# Build Project
|
||||||
# =============
|
# =============
|
||||||
@@ -502,21 +498,21 @@ def testCoreToHtml_Complex(mockGUI, fncPath):
|
|||||||
]
|
]
|
||||||
|
|
||||||
for i in range(len(docText)):
|
for i in range(len(docText)):
|
||||||
theHtml._text = docText[i]
|
html._text = docText[i]
|
||||||
theHtml.doPreProcessing()
|
html.doPreProcessing()
|
||||||
theHtml.tokenizeText()
|
html.tokenizeText()
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == resText[i]
|
assert html.theResult == resText[i]
|
||||||
|
|
||||||
assert theHtml.fullHTML == resText
|
assert html.fullHTML == resText
|
||||||
|
|
||||||
theHtml.replaceTabs(nSpaces=2, spaceChar=" ")
|
html.replaceTabs(nSpaces=2, spaceChar=" ")
|
||||||
resText[6] = "<h3>A Section</h3>\n<p> More text in scene two.</p>\n"
|
resText[6] = "<h3>A Section</h3>\n<p> More text in scene two.</p>\n"
|
||||||
|
|
||||||
# Check File
|
# Check File
|
||||||
# ==========
|
# ==========
|
||||||
|
|
||||||
theStyle = theHtml.getStyleSheet()
|
theStyle = html.getStyleSheet()
|
||||||
htmlDoc = (
|
htmlDoc = (
|
||||||
"<!DOCTYPE html>\n"
|
"<!DOCTYPE html>\n"
|
||||||
"<html>\n"
|
"<html>\n"
|
||||||
@@ -539,7 +535,7 @@ def testCoreToHtml_Complex(mockGUI, fncPath):
|
|||||||
)
|
)
|
||||||
|
|
||||||
saveFile = fncPath / "outFile.htm"
|
saveFile = fncPath / "outFile.htm"
|
||||||
theHtml.saveHtml5(saveFile)
|
html.saveHtml5(saveFile)
|
||||||
assert readFile(saveFile) == htmlDoc
|
assert readFile(saveFile) == htmlDoc
|
||||||
|
|
||||||
# END Test testCoreToHtml_Complex
|
# END Test testCoreToHtml_Complex
|
||||||
@@ -547,86 +543,84 @@ def testCoreToHtml_Complex(mockGUI, fncPath):
|
|||||||
|
|
||||||
@pytest.mark.core
|
@pytest.mark.core
|
||||||
def testCoreToHtml_Methods(mockGUI):
|
def testCoreToHtml_Methods(mockGUI):
|
||||||
"""Test all the other methods of the ToHtml class.
|
"""Test all the other methods of the ToHtml class."""
|
||||||
"""
|
project = NWProject()
|
||||||
theProject = NWProject()
|
html = ToHtml(project)
|
||||||
theHtml = ToHtml(theProject)
|
html.setKeepMarkdown(True)
|
||||||
theHtml.setKeepMarkdown(True)
|
|
||||||
|
|
||||||
# Auto-Replace, keep Unicode
|
# Auto-Replace, keep Unicode
|
||||||
docText = "Text with <brackets> & short–dash, long—dash …\n"
|
docText = "Text with <brackets> & short–dash, long—dash …\n"
|
||||||
theHtml._text = docText
|
html._text = docText
|
||||||
theHtml.setReplaceUnicode(False)
|
html.setReplaceUnicode(False)
|
||||||
theHtml.doPreProcessing()
|
html.doPreProcessing()
|
||||||
theHtml.tokenizeText()
|
html.tokenizeText()
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == (
|
assert html.theResult == (
|
||||||
"<p>Text with <brackets> & short–dash, long—dash …</p>\n"
|
"<p>Text with <brackets> & short–dash, long—dash …</p>\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Auto-Replace, replace Unicode
|
# Auto-Replace, replace Unicode
|
||||||
docText = "Text with <brackets> & short–dash, long—dash …\n"
|
docText = "Text with <brackets> & short–dash, long—dash …\n"
|
||||||
theHtml._text = docText
|
html._text = docText
|
||||||
theHtml.setReplaceUnicode(True)
|
html.setReplaceUnicode(True)
|
||||||
theHtml.doPreProcessing()
|
html.doPreProcessing()
|
||||||
theHtml.tokenizeText()
|
html.tokenizeText()
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theResult == (
|
assert html.theResult == (
|
||||||
"<p>Text with <brackets> & short–dash, long—dash …</p>\n"
|
"<p>Text with <brackets> & short–dash, long—dash …</p>\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
# With Preview
|
# With Preview
|
||||||
theHtml.setPreview(True, True)
|
html.setPreview(True, True)
|
||||||
theHtml._text = docText
|
html._text = docText
|
||||||
theHtml.doPreProcessing()
|
html.doPreProcessing()
|
||||||
theHtml.tokenizeText()
|
html.tokenizeText()
|
||||||
theHtml.doConvert()
|
html.doConvert()
|
||||||
assert theHtml.theMarkdown[-1] == (
|
assert html.theMarkdown[-1] == (
|
||||||
"Text with <brackets> & short–dash, long—dash …\n\n"
|
"Text with <brackets> & short–dash, long—dash …\n\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Result Size
|
# Result Size
|
||||||
assert theHtml.getFullResultSize() == 147
|
assert html.getFullResultSize() == 147
|
||||||
|
|
||||||
# CSS
|
# CSS
|
||||||
# ===
|
# ===
|
||||||
|
|
||||||
assert len(theHtml.getStyleSheet()) > 1
|
assert len(html.getStyleSheet()) > 1
|
||||||
assert "p {text-align: left;" in " ".join(theHtml.getStyleSheet())
|
assert "p {text-align: left;" in " ".join(html.getStyleSheet())
|
||||||
assert "p {text-align: justify;" not in " ".join(theHtml.getStyleSheet())
|
assert "p {text-align: justify;" not in " ".join(html.getStyleSheet())
|
||||||
|
|
||||||
theHtml.setJustify(True)
|
html.setJustify(True)
|
||||||
assert "p {text-align: left;" not in " ".join(theHtml.getStyleSheet())
|
assert "p {text-align: left;" not in " ".join(html.getStyleSheet())
|
||||||
assert "p {text-align: justify;" in " ".join(theHtml.getStyleSheet())
|
assert "p {text-align: justify;" in " ".join(html.getStyleSheet())
|
||||||
|
|
||||||
theHtml.setStyles(False)
|
html.setStyles(False)
|
||||||
assert theHtml.getStyleSheet() == []
|
assert html.getStyleSheet() == []
|
||||||
|
|
||||||
# END Test testCoreToHtml_Methods
|
# END Test testCoreToHtml_Methods
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.core
|
@pytest.mark.core
|
||||||
def testCoreToHtml_Format(mockGUI):
|
def testCoreToHtml_Format(mockGUI):
|
||||||
"""Test all the formatters for the ToHtml class.
|
"""Test all the formatters for the ToHtml class."""
|
||||||
"""
|
project = NWProject()
|
||||||
theProject = NWProject()
|
html = ToHtml(project)
|
||||||
theHtml = ToHtml(theProject)
|
|
||||||
|
|
||||||
# Export Mode
|
# Export Mode
|
||||||
# ===========
|
# ===========
|
||||||
|
|
||||||
assert theHtml._formatSynopsis("synopsis text") == (
|
assert html._formatSynopsis("synopsis text") == (
|
||||||
"<p class='synopsis'><strong>Synopsis:</strong> synopsis text</p>\n"
|
"<p class='synopsis'><strong>Synopsis:</strong> synopsis text</p>\n"
|
||||||
)
|
)
|
||||||
assert theHtml._formatComments("comment text") == (
|
assert html._formatComments("comment text") == (
|
||||||
"<p class='comment'><strong>Comment:</strong> comment text</p>\n"
|
"<p class='comment'><strong>Comment:</strong> comment text</p>\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
assert theHtml._formatKeywords("") == ""
|
assert html._formatKeywords("") == ""
|
||||||
assert theHtml._formatKeywords("tag: Jane") == (
|
assert html._formatKeywords("tag: Jane") == (
|
||||||
"<span class='tags'>Tag:</span> <a name='tag_Jane'>Jane</a>"
|
"<span class='tags'>Tag:</span> <a name='tag_Jane'>Jane</a>"
|
||||||
)
|
)
|
||||||
assert theHtml._formatKeywords("char: Bod, Jane") == (
|
assert html._formatKeywords("char: Bod, Jane") == (
|
||||||
"<span class='tags'>Characters:</span> "
|
"<span class='tags'>Characters:</span> "
|
||||||
"<a href='#tag_Bod'>Bod</a>, "
|
"<a href='#tag_Bod'>Bod</a>, "
|
||||||
"<a href='#tag_Jane'>Jane</a>"
|
"<a href='#tag_Jane'>Jane</a>"
|
||||||
@@ -635,20 +629,20 @@ def testCoreToHtml_Format(mockGUI):
|
|||||||
# Preview Mode
|
# Preview Mode
|
||||||
# ============
|
# ============
|
||||||
|
|
||||||
theHtml.setPreview(True, True)
|
html.setPreview(True, True)
|
||||||
|
|
||||||
assert theHtml._formatSynopsis("synopsis text") == (
|
assert html._formatSynopsis("synopsis text") == (
|
||||||
"<p class='comment'><span class='synopsis'>Synopsis:</span> synopsis text</p>\n"
|
"<p class='comment'><span class='synopsis'>Synopsis:</span> synopsis text</p>\n"
|
||||||
)
|
)
|
||||||
assert theHtml._formatComments("comment text") == (
|
assert html._formatComments("comment text") == (
|
||||||
"<p class='comment'>comment text</p>\n"
|
"<p class='comment'>comment text</p>\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
assert theHtml._formatKeywords("") == ""
|
assert html._formatKeywords("") == ""
|
||||||
assert theHtml._formatKeywords("tag: Jane") == (
|
assert html._formatKeywords("tag: Jane") == (
|
||||||
"<span class='tags'>Tag:</span> <a name='tag_Jane'>Jane</a>"
|
"<span class='tags'>Tag:</span> <a name='tag_Jane'>Jane</a>"
|
||||||
)
|
)
|
||||||
assert theHtml._formatKeywords("char: Bod, Jane") == (
|
assert html._formatKeywords("char: Bod, Jane") == (
|
||||||
"<span class='tags'>Characters:</span> "
|
"<span class='tags'>Characters:</span> "
|
||||||
"<a href='#char=Bod'>Bod</a>, "
|
"<a href='#char=Bod'>Bod</a>, "
|
||||||
"<a href='#char=Jane'>Jane</a>"
|
"<a href='#char=Jane'>Jane</a>"
|
||||||
|
|||||||
@@ -442,8 +442,8 @@ def testCoreToken_MetaFormat(mockGUI):
|
|||||||
theToken._text = "% A comment\n"
|
theToken._text = "% A comment\n"
|
||||||
theToken.tokenizeText()
|
theToken.tokenizeText()
|
||||||
assert theToken._tokens == [
|
assert theToken._tokens == [
|
||||||
(Tokenizer.T_COMMENT, 1, "A comment", None, Tokenizer.A_NONE),
|
(Tokenizer.T_COMMENT, 0, "A comment", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 0, "", None, Tokenizer.A_NONE),
|
||||||
]
|
]
|
||||||
assert theToken.theMarkdown[-1] == "\n"
|
assert theToken.theMarkdown[-1] == "\n"
|
||||||
|
|
||||||
@@ -455,14 +455,14 @@ def testCoreToken_MetaFormat(mockGUI):
|
|||||||
theToken._text = "%synopsis: The synopsis\n"
|
theToken._text = "%synopsis: The synopsis\n"
|
||||||
theToken.tokenizeText()
|
theToken.tokenizeText()
|
||||||
assert theToken._tokens == [
|
assert theToken._tokens == [
|
||||||
(Tokenizer.T_SYNOPSIS, 1, "The synopsis", None, Tokenizer.A_NONE),
|
(Tokenizer.T_SYNOPSIS, 0, "The synopsis", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 0, "", None, Tokenizer.A_NONE),
|
||||||
]
|
]
|
||||||
theToken._text = "% synopsis: The synopsis\n"
|
theToken._text = "% synopsis: The synopsis\n"
|
||||||
theToken.tokenizeText()
|
theToken.tokenizeText()
|
||||||
assert theToken._tokens == [
|
assert theToken._tokens == [
|
||||||
(Tokenizer.T_SYNOPSIS, 1, "The synopsis", None, Tokenizer.A_NONE),
|
(Tokenizer.T_SYNOPSIS, 0, "The synopsis", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 0, "", None, Tokenizer.A_NONE),
|
||||||
]
|
]
|
||||||
assert theToken.theMarkdown[-1] == "\n"
|
assert theToken.theMarkdown[-1] == "\n"
|
||||||
|
|
||||||
@@ -474,8 +474,8 @@ def testCoreToken_MetaFormat(mockGUI):
|
|||||||
theToken._text = "@char: Bod\n"
|
theToken._text = "@char: Bod\n"
|
||||||
theToken.tokenizeText()
|
theToken.tokenizeText()
|
||||||
assert theToken._tokens == [
|
assert theToken._tokens == [
|
||||||
(Tokenizer.T_KEYWORD, 1, "char: Bod", None, Tokenizer.A_NONE),
|
(Tokenizer.T_KEYWORD, 0, "char: Bod", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 0, "", None, Tokenizer.A_NONE),
|
||||||
]
|
]
|
||||||
assert theToken.theMarkdown[-1] == "\n"
|
assert theToken.theMarkdown[-1] == "\n"
|
||||||
|
|
||||||
@@ -489,10 +489,10 @@ def testCoreToken_MetaFormat(mockGUI):
|
|||||||
styMid = Tokenizer.A_NONE | Tokenizer.A_Z_BTMMRG | Tokenizer.A_Z_TOPMRG
|
styMid = Tokenizer.A_NONE | Tokenizer.A_Z_BTMMRG | Tokenizer.A_Z_TOPMRG
|
||||||
styBtm = Tokenizer.A_NONE | Tokenizer.A_Z_TOPMRG
|
styBtm = Tokenizer.A_NONE | Tokenizer.A_Z_TOPMRG
|
||||||
assert theToken._tokens == [
|
assert theToken._tokens == [
|
||||||
(Tokenizer.T_KEYWORD, 1, "pov: Bod", None, styTop),
|
(Tokenizer.T_KEYWORD, 0, "pov: Bod", None, styTop),
|
||||||
(Tokenizer.T_KEYWORD, 2, "plot: Main", None, styMid),
|
(Tokenizer.T_KEYWORD, 0, "plot: Main", None, styMid),
|
||||||
(Tokenizer.T_KEYWORD, 3, "location: Europe", None, styBtm),
|
(Tokenizer.T_KEYWORD, 0, "location: Europe", None, styBtm),
|
||||||
(Tokenizer.T_EMPTY, 3, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 0, "", None, Tokenizer.A_NONE),
|
||||||
]
|
]
|
||||||
assert theToken.theMarkdown[-1] == "@pov: Bod\n@plot: Main\n@location: Europe\n\n"
|
assert theToken.theMarkdown[-1] == "@pov: Bod\n@plot: Main\n@location: Europe\n\n"
|
||||||
|
|
||||||
@@ -521,23 +521,23 @@ def testCoreToken_MarginFormat(mockGUI):
|
|||||||
)
|
)
|
||||||
theToken.tokenizeText()
|
theToken.tokenizeText()
|
||||||
assert theToken._tokens == [
|
assert theToken._tokens == [
|
||||||
(Tokenizer.T_TEXT, 1, "Some regular text", [], Tokenizer.A_NONE),
|
(Tokenizer.T_TEXT, 0, "Some regular text", [], Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 2, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 0, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_TEXT, 3, "Some left-aligned text", [], Tokenizer.A_LEFT),
|
(Tokenizer.T_TEXT, 0, "Some left-aligned text", [], Tokenizer.A_LEFT),
|
||||||
(Tokenizer.T_EMPTY, 4, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 0, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_TEXT, 5, "Some right-aligned text", [], Tokenizer.A_RIGHT),
|
(Tokenizer.T_TEXT, 0, "Some right-aligned text", [], Tokenizer.A_RIGHT),
|
||||||
(Tokenizer.T_EMPTY, 6, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 0, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_TEXT, 7, "Some centered text", [], Tokenizer.A_CENTRE),
|
(Tokenizer.T_TEXT, 0, "Some centered text", [], Tokenizer.A_CENTRE),
|
||||||
(Tokenizer.T_EMPTY, 8, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 0, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_TEXT, 9, "Left-indented block", [], Tokenizer.A_IND_L),
|
(Tokenizer.T_TEXT, 0, "Left-indented block", [], Tokenizer.A_IND_L),
|
||||||
(Tokenizer.T_EMPTY, 10, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 0, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_TEXT, 11, "Right-indented block", [], Tokenizer.A_IND_R),
|
(Tokenizer.T_TEXT, 0, "Right-indented block", [], Tokenizer.A_IND_R),
|
||||||
(Tokenizer.T_EMPTY, 12, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 0, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_TEXT, 13, "Double-indented block", [], dblIndent),
|
(Tokenizer.T_TEXT, 0, "Double-indented block", [], dblIndent),
|
||||||
(Tokenizer.T_EMPTY, 14, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 0, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_TEXT, 15, "Right-indent, right-aligned", [], rIndAlign),
|
(Tokenizer.T_TEXT, 0, "Right-indent, right-aligned", [], rIndAlign),
|
||||||
(Tokenizer.T_EMPTY, 16, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 0, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 16, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 0, "", None, Tokenizer.A_NONE),
|
||||||
]
|
]
|
||||||
assert theToken.theMarkdown[-1] == (
|
assert theToken.theMarkdown[-1] == (
|
||||||
"Some regular text\n\n"
|
"Some regular text\n\n"
|
||||||
@@ -564,20 +564,20 @@ def testCoreToken_TextFormat(mockGUI):
|
|||||||
theToken._text = "Some plain text\non two lines\n\n\n"
|
theToken._text = "Some plain text\non two lines\n\n\n"
|
||||||
theToken.tokenizeText()
|
theToken.tokenizeText()
|
||||||
assert theToken._tokens == [
|
assert theToken._tokens == [
|
||||||
(Tokenizer.T_TEXT, 1, "Some plain text", [], Tokenizer.A_NONE),
|
(Tokenizer.T_TEXT, 0, "Some plain text", [], Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_TEXT, 2, "on two lines", [], Tokenizer.A_NONE),
|
(Tokenizer.T_TEXT, 0, "on two lines", [], Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 3, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 0, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 4, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 0, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 4, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 0, "", None, Tokenizer.A_NONE),
|
||||||
]
|
]
|
||||||
assert theToken.theMarkdown[-1] == "Some plain text\non two lines\n\n\n\n"
|
assert theToken.theMarkdown[-1] == "Some plain text\non two lines\n\n\n\n"
|
||||||
|
|
||||||
theToken.setBodyText(False)
|
theToken.setBodyText(False)
|
||||||
theToken.tokenizeText()
|
theToken.tokenizeText()
|
||||||
assert theToken._tokens == [
|
assert theToken._tokens == [
|
||||||
(Tokenizer.T_EMPTY, 3, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 0, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 4, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 0, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 4, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 0, "", None, Tokenizer.A_NONE),
|
||||||
]
|
]
|
||||||
assert theToken.theMarkdown[-1] == "\n\n\n"
|
assert theToken.theMarkdown[-1] == "\n\n\n"
|
||||||
theToken.setBodyText(True)
|
theToken.setBodyText(True)
|
||||||
@@ -587,7 +587,7 @@ def testCoreToken_TextFormat(mockGUI):
|
|||||||
theToken.tokenizeText()
|
theToken.tokenizeText()
|
||||||
assert theToken._tokens == [
|
assert theToken._tokens == [
|
||||||
(
|
(
|
||||||
Tokenizer.T_TEXT, 1,
|
Tokenizer.T_TEXT, 0,
|
||||||
"Some **bolded text** on this lines",
|
"Some **bolded text** on this lines",
|
||||||
[
|
[
|
||||||
[5, 2, Tokenizer.FMT_B_B],
|
[5, 2, Tokenizer.FMT_B_B],
|
||||||
@@ -595,7 +595,7 @@ def testCoreToken_TextFormat(mockGUI):
|
|||||||
],
|
],
|
||||||
Tokenizer.A_NONE
|
Tokenizer.A_NONE
|
||||||
),
|
),
|
||||||
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 0, "", None, Tokenizer.A_NONE),
|
||||||
]
|
]
|
||||||
assert theToken.theMarkdown[-1] == "Some **bolded text** on this lines\n\n"
|
assert theToken.theMarkdown[-1] == "Some **bolded text** on this lines\n\n"
|
||||||
|
|
||||||
@@ -603,7 +603,7 @@ def testCoreToken_TextFormat(mockGUI):
|
|||||||
theToken.tokenizeText()
|
theToken.tokenizeText()
|
||||||
assert theToken._tokens == [
|
assert theToken._tokens == [
|
||||||
(
|
(
|
||||||
Tokenizer.T_TEXT, 1,
|
Tokenizer.T_TEXT, 0,
|
||||||
"Some _italic text_ on this lines",
|
"Some _italic text_ on this lines",
|
||||||
[
|
[
|
||||||
[5, 1, Tokenizer.FMT_I_B],
|
[5, 1, Tokenizer.FMT_I_B],
|
||||||
@@ -611,7 +611,7 @@ def testCoreToken_TextFormat(mockGUI):
|
|||||||
],
|
],
|
||||||
Tokenizer.A_NONE
|
Tokenizer.A_NONE
|
||||||
),
|
),
|
||||||
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 0, "", None, Tokenizer.A_NONE),
|
||||||
]
|
]
|
||||||
assert theToken.theMarkdown[-1] == "Some _italic text_ on this lines\n\n"
|
assert theToken.theMarkdown[-1] == "Some _italic text_ on this lines\n\n"
|
||||||
|
|
||||||
@@ -619,7 +619,7 @@ def testCoreToken_TextFormat(mockGUI):
|
|||||||
theToken.tokenizeText()
|
theToken.tokenizeText()
|
||||||
assert theToken._tokens == [
|
assert theToken._tokens == [
|
||||||
(
|
(
|
||||||
Tokenizer.T_TEXT, 1,
|
Tokenizer.T_TEXT, 0,
|
||||||
"Some **_bold italic text_** on this lines",
|
"Some **_bold italic text_** on this lines",
|
||||||
[
|
[
|
||||||
[5, 2, Tokenizer.FMT_B_B],
|
[5, 2, Tokenizer.FMT_B_B],
|
||||||
@@ -629,7 +629,7 @@ def testCoreToken_TextFormat(mockGUI):
|
|||||||
],
|
],
|
||||||
Tokenizer.A_NONE
|
Tokenizer.A_NONE
|
||||||
),
|
),
|
||||||
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 0, "", None, Tokenizer.A_NONE),
|
||||||
]
|
]
|
||||||
assert theToken.theMarkdown[-1] == "Some **_bold italic text_** on this lines\n\n"
|
assert theToken.theMarkdown[-1] == "Some **_bold italic text_** on this lines\n\n"
|
||||||
|
|
||||||
@@ -637,7 +637,7 @@ def testCoreToken_TextFormat(mockGUI):
|
|||||||
theToken.tokenizeText()
|
theToken.tokenizeText()
|
||||||
assert theToken._tokens == [
|
assert theToken._tokens == [
|
||||||
(
|
(
|
||||||
Tokenizer.T_TEXT, 1,
|
Tokenizer.T_TEXT, 0,
|
||||||
"Some ~~strikethrough text~~ on this lines",
|
"Some ~~strikethrough text~~ on this lines",
|
||||||
[
|
[
|
||||||
[5, 2, Tokenizer.FMT_D_B],
|
[5, 2, Tokenizer.FMT_D_B],
|
||||||
@@ -645,7 +645,7 @@ def testCoreToken_TextFormat(mockGUI):
|
|||||||
],
|
],
|
||||||
Tokenizer.A_NONE
|
Tokenizer.A_NONE
|
||||||
),
|
),
|
||||||
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 0, "", None, Tokenizer.A_NONE),
|
||||||
]
|
]
|
||||||
assert theToken.theMarkdown[-1] == "Some ~~strikethrough text~~ on this lines\n\n"
|
assert theToken.theMarkdown[-1] == "Some ~~strikethrough text~~ on this lines\n\n"
|
||||||
|
|
||||||
@@ -653,7 +653,7 @@ def testCoreToken_TextFormat(mockGUI):
|
|||||||
theToken.tokenizeText()
|
theToken.tokenizeText()
|
||||||
assert theToken._tokens == [
|
assert theToken._tokens == [
|
||||||
(
|
(
|
||||||
Tokenizer.T_TEXT, 1,
|
Tokenizer.T_TEXT, 0,
|
||||||
"Some **nested bold and _italic_ and ~~strikethrough~~ text** here",
|
"Some **nested bold and _italic_ and ~~strikethrough~~ text** here",
|
||||||
[
|
[
|
||||||
[5, 2, Tokenizer.FMT_B_B],
|
[5, 2, Tokenizer.FMT_B_B],
|
||||||
@@ -665,7 +665,7 @@ def testCoreToken_TextFormat(mockGUI):
|
|||||||
],
|
],
|
||||||
Tokenizer.A_NONE
|
Tokenizer.A_NONE
|
||||||
),
|
),
|
||||||
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 0, "", None, Tokenizer.A_NONE),
|
||||||
]
|
]
|
||||||
assert theToken.theMarkdown[-1] == (
|
assert theToken.theMarkdown[-1] == (
|
||||||
"Some **nested bold and _italic_ and ~~strikethrough~~ text** here\n\n"
|
"Some **nested bold and _italic_ and ~~strikethrough~~ text** here\n\n"
|
||||||
@@ -687,11 +687,11 @@ def testCoreToken_SpecialFormat(mockGUI):
|
|||||||
|
|
||||||
correctResp = [
|
correctResp = [
|
||||||
(Tokenizer.T_HEAD1, 1, "Title One", None, Tokenizer.A_CENTRE),
|
(Tokenizer.T_HEAD1, 1, "Title One", None, Tokenizer.A_CENTRE),
|
||||||
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
|
(Tokenizer.T_HEAD1, 2, "Title Two", None, Tokenizer.A_CENTRE | Tokenizer.A_PBB),
|
||||||
|
(Tokenizer.T_EMPTY, 2, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 2, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 2, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 4, "", None, Tokenizer.A_NONE),
|
|
||||||
(Tokenizer.T_HEAD1, 5, "Title Two", None, Tokenizer.A_CENTRE | Tokenizer.A_PBB),
|
|
||||||
(Tokenizer.T_EMPTY, 6, "", None, Tokenizer.A_NONE),
|
|
||||||
(Tokenizer.T_EMPTY, 6, "", None, Tokenizer.A_NONE),
|
|
||||||
]
|
]
|
||||||
|
|
||||||
# Command wo/Space
|
# Command wo/Space
|
||||||
@@ -735,12 +735,12 @@ def testCoreToken_SpecialFormat(mockGUI):
|
|||||||
theToken.tokenizeText()
|
theToken.tokenizeText()
|
||||||
assert theToken._tokens == [
|
assert theToken._tokens == [
|
||||||
(Tokenizer.T_HEAD1, 1, "Title One", None, Tokenizer.A_PBB | Tokenizer.A_CENTRE),
|
(Tokenizer.T_HEAD1, 1, "Title One", None, Tokenizer.A_PBB | Tokenizer.A_CENTRE),
|
||||||
(Tokenizer.T_EMPTY, 2, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_SKIP, 3, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_SKIP, 1, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 4, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_TEXT, 5, "Some text to go here ...", [], Tokenizer.A_NONE),
|
(Tokenizer.T_TEXT, 1, "Some text to go here ...", [], Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 6, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 6, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
]
|
]
|
||||||
|
|
||||||
# Multiple Empty Paragraphs
|
# Multiple Empty Paragraphs
|
||||||
@@ -755,12 +755,12 @@ def testCoreToken_SpecialFormat(mockGUI):
|
|||||||
theToken.tokenizeText()
|
theToken.tokenizeText()
|
||||||
assert theToken._tokens == [
|
assert theToken._tokens == [
|
||||||
(Tokenizer.T_HEAD1, 1, "Title One", None, Tokenizer.A_PBB | Tokenizer.A_CENTRE),
|
(Tokenizer.T_HEAD1, 1, "Title One", None, Tokenizer.A_PBB | Tokenizer.A_CENTRE),
|
||||||
(Tokenizer.T_EMPTY, 2, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_SKIP, 3, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_SKIP, 1, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 4, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_TEXT, 5, "Some text to go here ...", [], Tokenizer.A_NONE),
|
(Tokenizer.T_TEXT, 1, "Some text to go here ...", [], Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 6, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 6, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
]
|
]
|
||||||
|
|
||||||
# Three Skips
|
# Three Skips
|
||||||
@@ -772,14 +772,14 @@ def testCoreToken_SpecialFormat(mockGUI):
|
|||||||
theToken.tokenizeText()
|
theToken.tokenizeText()
|
||||||
assert theToken._tokens == [
|
assert theToken._tokens == [
|
||||||
(Tokenizer.T_HEAD1, 1, "Title One", None, Tokenizer.A_PBB | Tokenizer.A_CENTRE),
|
(Tokenizer.T_HEAD1, 1, "Title One", None, Tokenizer.A_PBB | Tokenizer.A_CENTRE),
|
||||||
(Tokenizer.T_EMPTY, 2, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_SKIP, 3, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_SKIP, 1, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_SKIP, 3, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_SKIP, 1, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_SKIP, 3, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_SKIP, 1, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 4, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_TEXT, 5, "Some text to go here ...", [], Tokenizer.A_NONE),
|
(Tokenizer.T_TEXT, 1, "Some text to go here ...", [], Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 6, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 6, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
]
|
]
|
||||||
|
|
||||||
# Malformed Command, Case 1
|
# Malformed Command, Case 1
|
||||||
@@ -791,11 +791,11 @@ def testCoreToken_SpecialFormat(mockGUI):
|
|||||||
theToken.tokenizeText()
|
theToken.tokenizeText()
|
||||||
assert theToken._tokens == [
|
assert theToken._tokens == [
|
||||||
(Tokenizer.T_HEAD1, 1, "Title One", None, Tokenizer.A_PBB | Tokenizer.A_CENTRE),
|
(Tokenizer.T_HEAD1, 1, "Title One", None, Tokenizer.A_PBB | Tokenizer.A_CENTRE),
|
||||||
(Tokenizer.T_EMPTY, 2, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 4, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_TEXT, 5, "Some text to go here ...", [], Tokenizer.A_NONE),
|
(Tokenizer.T_TEXT, 1, "Some text to go here ...", [], Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 6, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 6, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
]
|
]
|
||||||
|
|
||||||
# Malformed Command, Case 2
|
# Malformed Command, Case 2
|
||||||
@@ -807,11 +807,11 @@ def testCoreToken_SpecialFormat(mockGUI):
|
|||||||
theToken.tokenizeText()
|
theToken.tokenizeText()
|
||||||
assert theToken._tokens == [
|
assert theToken._tokens == [
|
||||||
(Tokenizer.T_HEAD1, 1, "Title One", None, Tokenizer.A_PBB | Tokenizer.A_CENTRE),
|
(Tokenizer.T_HEAD1, 1, "Title One", None, Tokenizer.A_PBB | Tokenizer.A_CENTRE),
|
||||||
(Tokenizer.T_EMPTY, 2, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 4, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_TEXT, 5, "Some text to go here ...", [], Tokenizer.A_NONE),
|
(Tokenizer.T_TEXT, 1, "Some text to go here ...", [], Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 6, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 6, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
]
|
]
|
||||||
|
|
||||||
# Malformed Command, Case 3
|
# Malformed Command, Case 3
|
||||||
@@ -823,11 +823,11 @@ def testCoreToken_SpecialFormat(mockGUI):
|
|||||||
theToken.tokenizeText()
|
theToken.tokenizeText()
|
||||||
assert theToken._tokens == [
|
assert theToken._tokens == [
|
||||||
(Tokenizer.T_HEAD1, 1, "Title One", None, Tokenizer.A_PBB | Tokenizer.A_CENTRE),
|
(Tokenizer.T_HEAD1, 1, "Title One", None, Tokenizer.A_PBB | Tokenizer.A_CENTRE),
|
||||||
(Tokenizer.T_EMPTY, 2, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 4, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_TEXT, 5, "Some text to go here ...", [], Tokenizer.A_NONE),
|
(Tokenizer.T_TEXT, 1, "Some text to go here ...", [], Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 6, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 6, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
]
|
]
|
||||||
|
|
||||||
# Empty Paragraph and Page Break
|
# Empty Paragraph and Page Break
|
||||||
@@ -843,13 +843,13 @@ def testCoreToken_SpecialFormat(mockGUI):
|
|||||||
theToken.tokenizeText()
|
theToken.tokenizeText()
|
||||||
assert theToken._tokens == [
|
assert theToken._tokens == [
|
||||||
(Tokenizer.T_HEAD1, 1, "Title One", None, Tokenizer.A_PBB | Tokenizer.A_CENTRE),
|
(Tokenizer.T_HEAD1, 1, "Title One", None, Tokenizer.A_PBB | Tokenizer.A_CENTRE),
|
||||||
(Tokenizer.T_EMPTY, 2, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 4, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_SKIP, 5, "", None, Tokenizer.A_PBB),
|
(Tokenizer.T_SKIP, 1, "", None, Tokenizer.A_PBB),
|
||||||
(Tokenizer.T_EMPTY, 6, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_TEXT, 7, "Some text to go here ...", [], 0),
|
(Tokenizer.T_TEXT, 1, "Some text to go here ...", [], 0),
|
||||||
(Tokenizer.T_EMPTY, 8, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 8, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
]
|
]
|
||||||
|
|
||||||
# Multiple Skip
|
# Multiple Skip
|
||||||
@@ -862,15 +862,15 @@ def testCoreToken_SpecialFormat(mockGUI):
|
|||||||
theToken.tokenizeText()
|
theToken.tokenizeText()
|
||||||
assert theToken._tokens == [
|
assert theToken._tokens == [
|
||||||
(Tokenizer.T_HEAD1, 1, "Title One", None, Tokenizer.A_PBB | Tokenizer.A_CENTRE),
|
(Tokenizer.T_HEAD1, 1, "Title One", None, Tokenizer.A_PBB | Tokenizer.A_CENTRE),
|
||||||
(Tokenizer.T_EMPTY, 2, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 4, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_SKIP, 5, "", None, Tokenizer.A_PBB),
|
(Tokenizer.T_SKIP, 1, "", None, Tokenizer.A_PBB),
|
||||||
(Tokenizer.T_SKIP, 5, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_SKIP, 1, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_SKIP, 5, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_SKIP, 1, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 6, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_TEXT, 7, "Some text to go here ...", [], 0),
|
(Tokenizer.T_TEXT, 1, "Some text to go here ...", [], 0),
|
||||||
(Tokenizer.T_EMPTY, 8, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
(Tokenizer.T_EMPTY, 8, "", None, Tokenizer.A_NONE),
|
(Tokenizer.T_EMPTY, 1, "", None, Tokenizer.A_NONE),
|
||||||
]
|
]
|
||||||
|
|
||||||
# END Test testCoreToken_SpecialFormat
|
# END Test testCoreToken_SpecialFormat
|
||||||
|
|||||||
Reference in New Issue
Block a user