Fix tests
This commit is contained in:
@@ -2,8 +2,8 @@
|
|||||||
"meta": {
|
"meta": {
|
||||||
"projectName": "Lorem Ipsum",
|
"projectName": "Lorem Ipsum",
|
||||||
"novelAuthor": "lipsum.com",
|
"novelAuthor": "lipsum.com",
|
||||||
"buildTime": 1706648873,
|
"buildTime": 1711014280,
|
||||||
"buildTimeStr": "2024-01-30 22:07:53"
|
"buildTimeStr": "2024-03-21 10:44:40"
|
||||||
},
|
},
|
||||||
"text": {
|
"text": {
|
||||||
"nwd": [
|
"nwd": [
|
||||||
@@ -169,7 +169,7 @@
|
|||||||
"Integer egestas maximus leo eu facilisis. Nunc rhoncus dignissim lectus eu lacinia. Praesent lacinia urna porttitor aliquam condimentum. Nulla eu eros dictum, dictum nunc vitae, sagittis nibh. Integer ante neque, consequat nec sollicitudin id, consectetur vitae dolor. Nullam volutpat sem orci, quis viverra magna auctor a. Suspendisse potenti. Maecenas commodo sed neque pellentesque vehicula. Sed luctus nisl risus, elementum semper purus interdum vel. Ut pulvinar, massa sit amet venenatis placerat, nunc lacus hendrerit odio, non aliquet nunc risus eu lectus. Maecenas feugiat semper ligula, id lobortis sem porta eu. Integer posuere elit magna, at mollis eros bibendum et. Ut imperdiet purus vel nulla aliquam maximus. Morbi sodales purus tellus, a rhoncus sem rutrum sit amet. Quisque risus sem, laoreet nec convallis nec, rutrum vitae justo."
|
"Integer egestas maximus leo eu facilisis. Nunc rhoncus dignissim lectus eu lacinia. Praesent lacinia urna porttitor aliquam condimentum. Nulla eu eros dictum, dictum nunc vitae, sagittis nibh. Integer ante neque, consequat nec sollicitudin id, consectetur vitae dolor. Nullam volutpat sem orci, quis viverra magna auctor a. Suspendisse potenti. Maecenas commodo sed neque pellentesque vehicula. Sed luctus nisl risus, elementum semper purus interdum vel. Ut pulvinar, massa sit amet venenatis placerat, nunc lacus hendrerit odio, non aliquet nunc risus eu lectus. Maecenas feugiat semper ligula, id lobortis sem porta eu. Integer posuere elit magna, at mollis eros bibendum et. Ut imperdiet purus vel nulla aliquam maximus. Morbi sodales purus tellus, a rhoncus sem rutrum sit amet. Quisque risus sem, laoreet nec convallis nec, rutrum vitae justo."
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"# Notes: Characters"
|
"#! Notes: Characters"
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"# Nobody Owens",
|
"# Nobody Owens",
|
||||||
@@ -184,7 +184,7 @@
|
|||||||
"Nullam scelerisque velit et tortor congue vestibulum a at nisi. Vivamus sodales ut turpis a convallis. In dignissim nibh at luctus sodales. Etiam sit amet rhoncus massa. Phasellus ligula magna, sollicitudin non imperdiet sit amet, volutpat vel magna. Nunc vestibulum tempor lectus, sit amet porta nunc hendrerit in. Curabitur non odio sit amet massa tincidunt facilisis. Integer et luctus nunc, eget euismod leo. Praesent faucibus metus sed purus convallis scelerisque. Fusce viverra lorem et placerat malesuada. In at elit malesuada, ullamcorper risus vitae, sodales dolor. Donec quis elementum lectus. Quisque eu eros at dui imperdiet euismod ut id neque."
|
"Nullam scelerisque velit et tortor congue vestibulum a at nisi. Vivamus sodales ut turpis a convallis. In dignissim nibh at luctus sodales. Etiam sit amet rhoncus massa. Phasellus ligula magna, sollicitudin non imperdiet sit amet, volutpat vel magna. Nunc vestibulum tempor lectus, sit amet porta nunc hendrerit in. Curabitur non odio sit amet massa tincidunt facilisis. Integer et luctus nunc, eget euismod leo. Praesent faucibus metus sed purus convallis scelerisque. Fusce viverra lorem et placerat malesuada. In at elit malesuada, ullamcorper risus vitae, sodales dolor. Donec quis elementum lectus. Quisque eu eros at dui imperdiet euismod ut id neque."
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"# Notes: Plot"
|
"#! Notes: Plot"
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"# Main Plot",
|
"# Main Plot",
|
||||||
@@ -196,7 +196,7 @@
|
|||||||
"Mauris ut erat eu lorem malesuada egestas vel vel urna. Maecenas ac semper quam. Maecenas aliquet metus non interdum mattis. Proin consectetur molestie ligula. Aliquam sollicitudin pulvinar urna a pellentesque. Suspendisse ultrices, est mattis scelerisque porta, nisi nisi laoreet nisl, non condimentum quam ante a velit. Proin scelerisque justo augue, nec laoreet ligula egestas at. Etiam enim quam, ultrices non accumsan hendrerit, elementum vel ligula. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nam efficitur odio libero, in vestibulum arcu aliquam at. Cras non vehicula augue. Integer lobortis, est vitae aliquam facilisis, metus ligula aliquet eros, at porttitor sem tortor eget massa. Aliquam varius scelerisque neque sed gravida. Aenean eleifend lorem id ante elementum sollicitudin. Proin commodo massa a quam volutpat, mollis fermentum turpis efficitur."
|
"Mauris ut erat eu lorem malesuada egestas vel vel urna. Maecenas ac semper quam. Maecenas aliquet metus non interdum mattis. Proin consectetur molestie ligula. Aliquam sollicitudin pulvinar urna a pellentesque. Suspendisse ultrices, est mattis scelerisque porta, nisi nisi laoreet nisl, non condimentum quam ante a velit. Proin scelerisque justo augue, nec laoreet ligula egestas at. Etiam enim quam, ultrices non accumsan hendrerit, elementum vel ligula. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nam efficitur odio libero, in vestibulum arcu aliquam at. Cras non vehicula augue. Integer lobortis, est vitae aliquam facilisis, metus ligula aliquet eros, at porttitor sem tortor eget massa. Aliquam varius scelerisque neque sed gravida. Aenean eleifend lorem id ante elementum sollicitudin. Proin commodo massa a quam volutpat, mollis fermentum turpis efficitur."
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"# Notes: World"
|
"#! Notes: World"
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"# Ancient Europe",
|
"# Ancient Europe",
|
||||||
|
|||||||
@@ -147,7 +147,7 @@ Pellentesque rhoncus pharetra eros, non mollis nisi pretium non. Mauris accumsan
|
|||||||
|
|
||||||
Integer egestas maximus leo eu facilisis. Nunc rhoncus dignissim lectus eu lacinia. Praesent lacinia urna porttitor aliquam condimentum. Nulla eu eros dictum, dictum nunc vitae, sagittis nibh. Integer ante neque, consequat nec sollicitudin id, consectetur vitae dolor. Nullam volutpat sem orci, quis viverra magna auctor a. Suspendisse potenti. Maecenas commodo sed neque pellentesque vehicula. Sed luctus nisl risus, elementum semper purus interdum vel. Ut pulvinar, massa sit amet venenatis placerat, nunc lacus hendrerit odio, non aliquet nunc risus eu lectus. Maecenas feugiat semper ligula, id lobortis sem porta eu. Integer posuere elit magna, at mollis eros bibendum et. Ut imperdiet purus vel nulla aliquam maximus. Morbi sodales purus tellus, a rhoncus sem rutrum sit amet. Quisque risus sem, laoreet nec convallis nec, rutrum vitae justo.
|
Integer egestas maximus leo eu facilisis. Nunc rhoncus dignissim lectus eu lacinia. Praesent lacinia urna porttitor aliquam condimentum. Nulla eu eros dictum, dictum nunc vitae, sagittis nibh. Integer ante neque, consequat nec sollicitudin id, consectetur vitae dolor. Nullam volutpat sem orci, quis viverra magna auctor a. Suspendisse potenti. Maecenas commodo sed neque pellentesque vehicula. Sed luctus nisl risus, elementum semper purus interdum vel. Ut pulvinar, massa sit amet venenatis placerat, nunc lacus hendrerit odio, non aliquet nunc risus eu lectus. Maecenas feugiat semper ligula, id lobortis sem porta eu. Integer posuere elit magna, at mollis eros bibendum et. Ut imperdiet purus vel nulla aliquam maximus. Morbi sodales purus tellus, a rhoncus sem rutrum sit amet. Quisque risus sem, laoreet nec convallis nec, rutrum vitae justo.
|
||||||
|
|
||||||
# Notes: Characters
|
#! Notes: Characters
|
||||||
|
|
||||||
# Nobody Owens
|
# Nobody Owens
|
||||||
|
|
||||||
@@ -160,7 +160,7 @@ Suspendisse faucibus est auctor orci mollis luctus. Praesent quis sodales neque.
|
|||||||
|
|
||||||
Nullam scelerisque velit et tortor congue vestibulum a at nisi. Vivamus sodales ut turpis a convallis. In dignissim nibh at luctus sodales. Etiam sit amet rhoncus massa. Phasellus ligula magna, sollicitudin non imperdiet sit amet, volutpat vel magna. Nunc vestibulum tempor lectus, sit amet porta nunc hendrerit in. Curabitur non odio sit amet massa tincidunt facilisis. Integer et luctus nunc, eget euismod leo. Praesent faucibus metus sed purus convallis scelerisque. Fusce viverra lorem et placerat malesuada. In at elit malesuada, ullamcorper risus vitae, sodales dolor. Donec quis elementum lectus. Quisque eu eros at dui imperdiet euismod ut id neque.
|
Nullam scelerisque velit et tortor congue vestibulum a at nisi. Vivamus sodales ut turpis a convallis. In dignissim nibh at luctus sodales. Etiam sit amet rhoncus massa. Phasellus ligula magna, sollicitudin non imperdiet sit amet, volutpat vel magna. Nunc vestibulum tempor lectus, sit amet porta nunc hendrerit in. Curabitur non odio sit amet massa tincidunt facilisis. Integer et luctus nunc, eget euismod leo. Praesent faucibus metus sed purus convallis scelerisque. Fusce viverra lorem et placerat malesuada. In at elit malesuada, ullamcorper risus vitae, sodales dolor. Donec quis elementum lectus. Quisque eu eros at dui imperdiet euismod ut id neque.
|
||||||
|
|
||||||
# Notes: Plot
|
#! Notes: Plot
|
||||||
|
|
||||||
# Main Plot
|
# Main Plot
|
||||||
|
|
||||||
@@ -170,7 +170,7 @@ Suspendisse vulputate malesuada pellentesque. Aenean sollicitudin cursus mi, vit
|
|||||||
|
|
||||||
Mauris ut erat eu lorem malesuada egestas vel vel urna. Maecenas ac semper quam. Maecenas aliquet metus non interdum mattis. Proin consectetur molestie ligula. Aliquam sollicitudin pulvinar urna a pellentesque. Suspendisse ultrices, est mattis scelerisque porta, nisi nisi laoreet nisl, non condimentum quam ante a velit. Proin scelerisque justo augue, nec laoreet ligula egestas at. Etiam enim quam, ultrices non accumsan hendrerit, elementum vel ligula. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nam efficitur odio libero, in vestibulum arcu aliquam at. Cras non vehicula augue. Integer lobortis, est vitae aliquam facilisis, metus ligula aliquet eros, at porttitor sem tortor eget massa. Aliquam varius scelerisque neque sed gravida. Aenean eleifend lorem id ante elementum sollicitudin. Proin commodo massa a quam volutpat, mollis fermentum turpis efficitur.
|
Mauris ut erat eu lorem malesuada egestas vel vel urna. Maecenas ac semper quam. Maecenas aliquet metus non interdum mattis. Proin consectetur molestie ligula. Aliquam sollicitudin pulvinar urna a pellentesque. Suspendisse ultrices, est mattis scelerisque porta, nisi nisi laoreet nisl, non condimentum quam ante a velit. Proin scelerisque justo augue, nec laoreet ligula egestas at. Etiam enim quam, ultrices non accumsan hendrerit, elementum vel ligula. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nam efficitur odio libero, in vestibulum arcu aliquam at. Cras non vehicula augue. Integer lobortis, est vitae aliquam facilisis, metus ligula aliquet eros, at porttitor sem tortor eget massa. Aliquam varius scelerisque neque sed gravida. Aenean eleifend lorem id ante elementum sollicitudin. Proin commodo massa a quam volutpat, mollis fermentum turpis efficitur.
|
||||||
|
|
||||||
# Notes: World
|
#! Notes: World
|
||||||
|
|
||||||
# Ancient Europe
|
# Ancient Europe
|
||||||
|
|
||||||
|
|||||||
@@ -575,10 +575,10 @@ def testCoreDocBuild_IterBuild(mockGUI, fncPath: Path, mockRnd):
|
|||||||
"By Jane Doe\n\n"
|
"By Jane Doe\n\n"
|
||||||
"## New Chapter\n\n\n"
|
"## New Chapter\n\n\n"
|
||||||
"### New Scene\n\n\n"
|
"### New Scene\n\n\n"
|
||||||
"# Notes: Plot\n\n"
|
"#! Notes: Plot\n\n"
|
||||||
"# Main Plot\n"
|
"# Main Plot\n"
|
||||||
"**Text**\n\n"
|
"**Text**\n\n"
|
||||||
"# Notes: Characters\n\n"
|
"#! Notes: Characters\n\n"
|
||||||
"# Jane Doe\n"
|
"# Jane Doe\n"
|
||||||
"~~Text~~\n\n"
|
"~~Text~~\n\n"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1194,6 +1194,7 @@ def testCoreIndex_ItemIndex(mockGUI, fncPath, mockRnd):
|
|||||||
# Add a second novel
|
# Add a second novel
|
||||||
mHandle = project.newRoot(nwItemClass.NOVEL)
|
mHandle = project.newRoot(nwItemClass.NOVEL)
|
||||||
uHandle = project.newFile("Title Page", mHandle)
|
uHandle = project.newFile("Title Page", mHandle)
|
||||||
|
assert uHandle is not None
|
||||||
itemIndex.add(uHandle, project.tree[uHandle]) # type: ignore
|
itemIndex.add(uHandle, project.tree[uHandle]) # type: ignore
|
||||||
itemIndex.addItemHeading(uHandle, "T0001", "H1", "Novel 2") # type: ignore
|
itemIndex.addItemHeading(uHandle, "T0001", "H1", "Novel 2") # type: ignore
|
||||||
assert uHandle in itemIndex
|
assert uHandle in itemIndex
|
||||||
|
|||||||
@@ -227,7 +227,6 @@ def testCoreToHtml_ConvertParagraphs(mockGUI):
|
|||||||
|
|
||||||
# Multiple Keywords
|
# Multiple Keywords
|
||||||
html._isFirst = False
|
html._isFirst = False
|
||||||
html._noBreak = False
|
|
||||||
html.setKeywords(True)
|
html.setKeywords(True)
|
||||||
html._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"
|
||||||
html.tokenizeText()
|
html.tokenizeText()
|
||||||
@@ -275,8 +274,8 @@ def testCoreToHtml_ConvertDirect(mockGUI):
|
|||||||
|
|
||||||
# Title
|
# Title
|
||||||
html._tokens = [
|
html._tokens = [
|
||||||
(html.T_TITLE, 1, "A Title", None, html.A_PBB | html.A_CENTRE),
|
(html.T_TITLE, 1, "A Title", [], html.A_PBB | html.A_CENTRE),
|
||||||
(html.T_EMPTY, 1, "", None, html.A_NONE),
|
(html.T_EMPTY, 1, "", [], html.A_NONE),
|
||||||
]
|
]
|
||||||
html.doConvert()
|
html.doConvert()
|
||||||
assert html.result == (
|
assert html.result == (
|
||||||
@@ -286,8 +285,8 @@ def testCoreToHtml_ConvertDirect(mockGUI):
|
|||||||
|
|
||||||
# Unnumbered
|
# Unnumbered
|
||||||
html._tokens = [
|
html._tokens = [
|
||||||
(html.T_HEAD2, 1, "Prologue", None, html.A_PBB),
|
(html.T_HEAD2, 1, "Prologue", [], html.A_PBB),
|
||||||
(html.T_EMPTY, 1, "", None, html.A_NONE),
|
(html.T_EMPTY, 1, "", [], html.A_NONE),
|
||||||
]
|
]
|
||||||
html.doConvert()
|
html.doConvert()
|
||||||
assert html.result == (
|
assert html.result == (
|
||||||
@@ -300,16 +299,16 @@ def testCoreToHtml_ConvertDirect(mockGUI):
|
|||||||
|
|
||||||
# Separator
|
# Separator
|
||||||
html._tokens = [
|
html._tokens = [
|
||||||
(html.T_SEP, 1, "* * *", None, html.A_CENTRE),
|
(html.T_SEP, 1, "* * *", [], html.A_CENTRE),
|
||||||
(html.T_EMPTY, 1, "", None, html.A_NONE),
|
(html.T_EMPTY, 1, "", [], html.A_NONE),
|
||||||
]
|
]
|
||||||
html.doConvert()
|
html.doConvert()
|
||||||
assert html.result == "<p class='sep' style='text-align: center;'>* * *</p>\n"
|
assert html.result == "<p class='sep' style='text-align: center;'>* * *</p>\n"
|
||||||
|
|
||||||
# Skip
|
# Skip
|
||||||
html._tokens = [
|
html._tokens = [
|
||||||
(html.T_SKIP, 1, "", None, html.A_NONE),
|
(html.T_SKIP, 1, "", [], html.A_NONE),
|
||||||
(html.T_EMPTY, 1, "", None, html.A_NONE),
|
(html.T_EMPTY, 1, "", [], html.A_NONE),
|
||||||
]
|
]
|
||||||
html.doConvert()
|
html.doConvert()
|
||||||
assert html.result == "<p class='skip'> </p>\n"
|
assert html.result == "<p class='skip'> </p>\n"
|
||||||
@@ -322,7 +321,7 @@ def testCoreToHtml_ConvertDirect(mockGUI):
|
|||||||
# Align Left
|
# Align Left
|
||||||
html.setStyles(False)
|
html.setStyles(False)
|
||||||
html._tokens = [
|
html._tokens = [
|
||||||
(html.T_HEAD1, 1, "A Title", None, html.A_LEFT),
|
(html.T_HEAD1, 1, "A Title", [], html.A_LEFT),
|
||||||
]
|
]
|
||||||
html.doConvert()
|
html.doConvert()
|
||||||
assert html.result == (
|
assert html.result == (
|
||||||
@@ -333,7 +332,7 @@ def testCoreToHtml_ConvertDirect(mockGUI):
|
|||||||
|
|
||||||
# Align Left
|
# Align Left
|
||||||
html._tokens = [
|
html._tokens = [
|
||||||
(html.T_HEAD1, 1, "A Title", None, html.A_LEFT),
|
(html.T_HEAD1, 1, "A Title", [], html.A_LEFT),
|
||||||
]
|
]
|
||||||
html.doConvert()
|
html.doConvert()
|
||||||
assert html.result == (
|
assert html.result == (
|
||||||
@@ -342,7 +341,7 @@ def testCoreToHtml_ConvertDirect(mockGUI):
|
|||||||
|
|
||||||
# Align Right
|
# Align Right
|
||||||
html._tokens = [
|
html._tokens = [
|
||||||
(html.T_HEAD1, 1, "A Title", None, html.A_RIGHT),
|
(html.T_HEAD1, 1, "A Title", [], html.A_RIGHT),
|
||||||
]
|
]
|
||||||
html.doConvert()
|
html.doConvert()
|
||||||
assert html.result == (
|
assert html.result == (
|
||||||
@@ -351,7 +350,7 @@ def testCoreToHtml_ConvertDirect(mockGUI):
|
|||||||
|
|
||||||
# Align Centre
|
# Align Centre
|
||||||
html._tokens = [
|
html._tokens = [
|
||||||
(html.T_HEAD1, 1, "A Title", None, html.A_CENTRE),
|
(html.T_HEAD1, 1, "A Title", [], html.A_CENTRE),
|
||||||
]
|
]
|
||||||
html.doConvert()
|
html.doConvert()
|
||||||
assert html.result == (
|
assert html.result == (
|
||||||
@@ -360,7 +359,7 @@ def testCoreToHtml_ConvertDirect(mockGUI):
|
|||||||
|
|
||||||
# Align Justify
|
# Align Justify
|
||||||
html._tokens = [
|
html._tokens = [
|
||||||
(html.T_HEAD1, 1, "A Title", None, html.A_JUSTIFY),
|
(html.T_HEAD1, 1, "A Title", [], html.A_JUSTIFY),
|
||||||
]
|
]
|
||||||
html.doConvert()
|
html.doConvert()
|
||||||
assert html.result == (
|
assert html.result == (
|
||||||
@@ -372,7 +371,7 @@ def testCoreToHtml_ConvertDirect(mockGUI):
|
|||||||
|
|
||||||
# Page Break Always
|
# Page Break Always
|
||||||
html._tokens = [
|
html._tokens = [
|
||||||
(html.T_HEAD1, 1, "A Title", None, html.A_PBB | html.A_PBA),
|
(html.T_HEAD1, 1, "A Title", [], html.A_PBB | html.A_PBA),
|
||||||
]
|
]
|
||||||
html.doConvert()
|
html.doConvert()
|
||||||
assert html.result == (
|
assert html.result == (
|
||||||
@@ -386,7 +385,7 @@ def testCoreToHtml_ConvertDirect(mockGUI):
|
|||||||
# Indent Left
|
# Indent Left
|
||||||
html._tokens = [
|
html._tokens = [
|
||||||
(html.T_TEXT, 1, "Some text ...", [], html.A_IND_L),
|
(html.T_TEXT, 1, "Some text ...", [], html.A_IND_L),
|
||||||
(html.T_EMPTY, 2, "", None, html.A_NONE),
|
(html.T_EMPTY, 2, "", [], html.A_NONE),
|
||||||
]
|
]
|
||||||
html.doConvert()
|
html.doConvert()
|
||||||
assert html.result == (
|
assert html.result == (
|
||||||
@@ -396,7 +395,7 @@ def testCoreToHtml_ConvertDirect(mockGUI):
|
|||||||
# Indent Right
|
# Indent Right
|
||||||
html._tokens = [
|
html._tokens = [
|
||||||
(html.T_TEXT, 1, "Some text ...", [], html.A_IND_R),
|
(html.T_TEXT, 1, "Some text ...", [], html.A_IND_R),
|
||||||
(html.T_EMPTY, 2, "", None, html.A_NONE),
|
(html.T_EMPTY, 2, "", [], html.A_NONE),
|
||||||
]
|
]
|
||||||
html.doConvert()
|
html.doConvert()
|
||||||
assert html.result == (
|
assert html.result == (
|
||||||
@@ -459,7 +458,6 @@ def testCoreToHtml_SpecialCases(mockGUI):
|
|||||||
)
|
)
|
||||||
|
|
||||||
html._isFirst = False
|
html._isFirst = False
|
||||||
html._noBreak = False
|
|
||||||
html._text = "## Heading <1>\n"
|
html._text = "## Heading <1>\n"
|
||||||
html.tokenizeText()
|
html.tokenizeText()
|
||||||
html.doConvert()
|
html.doConvert()
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ from novelwriter.core.tokenizer import HeadingFormatter, Tokenizer, stripEscape
|
|||||||
|
|
||||||
class BareTokenizer(Tokenizer):
|
class BareTokenizer(Tokenizer):
|
||||||
def doConvert(self):
|
def doConvert(self):
|
||||||
super().doConvert()
|
super().doConvert() # type: ignore (deliberate check)
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.core
|
@pytest.mark.core
|
||||||
@@ -181,21 +181,23 @@ def testCoreToken_TextOps(monkeypatch, mockGUI, mockRnd, fncPath):
|
|||||||
assert project.saveProject()
|
assert project.saveProject()
|
||||||
|
|
||||||
# Root Heading
|
# Root Heading
|
||||||
assert tokens.addRootHeading("stuff") is False
|
assert len(tokens._tokens) == 0
|
||||||
assert tokens.addRootHeading(C.hSceneDoc) is False
|
tokens.addRootHeading("stuff")
|
||||||
|
tokens.addRootHeading(C.hSceneDoc)
|
||||||
|
assert len(tokens._tokens) == 0
|
||||||
|
|
||||||
# First Page
|
# First Page
|
||||||
assert tokens.addRootHeading(C.hPlotRoot) is True
|
tokens.addRootHeading(C.hPlotRoot)
|
||||||
assert tokens.allMarkdown[-1] == "# Notes: Plot\n\n"
|
assert tokens.allMarkdown[-1] == "#! Notes: Plot\n\n"
|
||||||
assert tokens._tokens[-1] == (
|
assert tokens._tokens[-1] == (
|
||||||
Tokenizer.T_TITLE, 0, "Notes: Plot", [], Tokenizer.A_CENTRE
|
Tokenizer.T_TITLE, 1, "Notes: Plot", [], Tokenizer.A_CENTRE
|
||||||
)
|
)
|
||||||
|
|
||||||
# Not First Page
|
# Not First Page
|
||||||
assert tokens.addRootHeading(C.hPlotRoot) is True
|
tokens.addRootHeading(C.hPlotRoot)
|
||||||
assert tokens.allMarkdown[-1] == "# Notes: Plot\n\n"
|
assert tokens.allMarkdown[-1] == "#! Notes: Plot\n\n"
|
||||||
assert tokens._tokens[-1] == (
|
assert tokens._tokens[-1] == (
|
||||||
Tokenizer.T_TITLE, 0, "Notes: Plot", [], Tokenizer.A_CENTRE | Tokenizer.A_PBB
|
Tokenizer.T_TITLE, 1, "Notes: Plot", [], Tokenizer.A_CENTRE | Tokenizer.A_PBB
|
||||||
)
|
)
|
||||||
|
|
||||||
# Set Text
|
# Set Text
|
||||||
@@ -218,14 +220,14 @@ def testCoreToken_TextOps(monkeypatch, mockGUI, mockRnd, fncPath):
|
|||||||
savePath = fncPath / "dump.nwd"
|
savePath = fncPath / "dump.nwd"
|
||||||
tokens.saveRawMarkdown(savePath)
|
tokens.saveRawMarkdown(savePath)
|
||||||
assert readFile(savePath) == (
|
assert readFile(savePath) == (
|
||||||
"# Notes: Plot\n\n"
|
"#! Notes: Plot\n\n"
|
||||||
"# Notes: Plot\n\n"
|
"#! Notes: Plot\n\n"
|
||||||
)
|
)
|
||||||
tokens.saveRawMarkdownJSON(savePath)
|
tokens.saveRawMarkdownJSON(savePath)
|
||||||
assert json.loads(readFile(savePath))["text"] == {
|
assert json.loads(readFile(savePath))["text"] == {
|
||||||
"nwd": [
|
"nwd": [
|
||||||
["# Notes: Plot"],
|
["#! Notes: Plot"],
|
||||||
["# Notes: Plot"]
|
["#! Notes: Plot"]
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -313,7 +315,6 @@ def testCoreToken_HeaderFormat(mockGUI):
|
|||||||
|
|
||||||
# Story File
|
# Story File
|
||||||
tokens._isNovel = True
|
tokens._isNovel = True
|
||||||
tokens._noBreak = False
|
|
||||||
tokens._text = "## Chapter One\n"
|
tokens._text = "## Chapter One\n"
|
||||||
|
|
||||||
tokens.tokenizeText()
|
tokens.tokenizeText()
|
||||||
@@ -448,7 +449,6 @@ def testCoreToken_HeaderStyle(mockGUI):
|
|||||||
def processStyle(text: str, first: bool) -> int:
|
def processStyle(text: str, first: bool) -> int:
|
||||||
tokens._text = text
|
tokens._text = text
|
||||||
tokens._isFirst = first
|
tokens._isFirst = first
|
||||||
tokens._noBreak = first
|
|
||||||
tokens.tokenizeText()
|
tokens.tokenizeText()
|
||||||
return tokens._tokens[0][4]
|
return tokens._tokens[0][4]
|
||||||
|
|
||||||
|
|||||||
@@ -204,8 +204,8 @@ def testCoreToMarkdown_ConvertDirect(mockGUI):
|
|||||||
|
|
||||||
# Title
|
# Title
|
||||||
toMD._tokens = [
|
toMD._tokens = [
|
||||||
(toMD.T_TITLE, 1, "A Title", None, toMD.A_PBB | toMD.A_CENTRE),
|
(toMD.T_TITLE, 1, "A Title", [], toMD.A_PBB | toMD.A_CENTRE),
|
||||||
(toMD.T_EMPTY, 1, "", None, toMD.A_NONE),
|
(toMD.T_EMPTY, 1, "", [], toMD.A_NONE),
|
||||||
]
|
]
|
||||||
toMD.doConvert()
|
toMD.doConvert()
|
||||||
assert toMD.result == "# A Title\n\n"
|
assert toMD.result == "# A Title\n\n"
|
||||||
@@ -215,16 +215,16 @@ def testCoreToMarkdown_ConvertDirect(mockGUI):
|
|||||||
|
|
||||||
# Separator
|
# Separator
|
||||||
toMD._tokens = [
|
toMD._tokens = [
|
||||||
(toMD.T_SEP, 1, "* * *", None, toMD.A_CENTRE),
|
(toMD.T_SEP, 1, "* * *", [], toMD.A_CENTRE),
|
||||||
(toMD.T_EMPTY, 1, "", None, toMD.A_NONE),
|
(toMD.T_EMPTY, 1, "", [], toMD.A_NONE),
|
||||||
]
|
]
|
||||||
toMD.doConvert()
|
toMD.doConvert()
|
||||||
assert toMD.result == "* * *\n\n"
|
assert toMD.result == "* * *\n\n"
|
||||||
|
|
||||||
# Skip
|
# Skip
|
||||||
toMD._tokens = [
|
toMD._tokens = [
|
||||||
(toMD.T_SKIP, 1, "", None, toMD.A_NONE),
|
(toMD.T_SKIP, 1, "", [], toMD.A_NONE),
|
||||||
(toMD.T_EMPTY, 1, "", None, toMD.A_NONE),
|
(toMD.T_EMPTY, 1, "", [], toMD.A_NONE),
|
||||||
]
|
]
|
||||||
toMD.doConvert()
|
toMD.doConvert()
|
||||||
assert toMD.result == "\n\n"
|
assert toMD.result == "\n\n"
|
||||||
|
|||||||
@@ -652,7 +652,7 @@ def testCoreToOdt_ConvertDirect(mockGUI):
|
|||||||
doc = ToOdt(project, isFlat=True)
|
doc = ToOdt(project, isFlat=True)
|
||||||
doc._tokens = [
|
doc._tokens = [
|
||||||
(doc.T_TEXT, 1, "This is a paragraph", [], doc.A_JUSTIFY),
|
(doc.T_TEXT, 1, "This is a paragraph", [], doc.A_JUSTIFY),
|
||||||
(doc.T_EMPTY, 1, "", None, doc.A_NONE),
|
(doc.T_EMPTY, 1, "", [], doc.A_NONE),
|
||||||
]
|
]
|
||||||
doc.initDocument()
|
doc.initDocument()
|
||||||
doc.doConvert()
|
doc.doConvert()
|
||||||
@@ -673,7 +673,7 @@ def testCoreToOdt_ConvertDirect(mockGUI):
|
|||||||
doc = ToOdt(project, isFlat=True)
|
doc = ToOdt(project, isFlat=True)
|
||||||
doc._tokens = [
|
doc._tokens = [
|
||||||
(doc.T_TEXT, 1, "This is a paragraph", [], doc.A_PBA),
|
(doc.T_TEXT, 1, "This is a paragraph", [], doc.A_PBA),
|
||||||
(doc.T_EMPTY, 1, "", None, doc.A_NONE),
|
(doc.T_EMPTY, 1, "", [], doc.A_NONE),
|
||||||
]
|
]
|
||||||
doc.initDocument()
|
doc.initDocument()
|
||||||
doc.doConvert()
|
doc.doConvert()
|
||||||
|
|||||||
Reference in New Issue
Block a user