diff --git a/tests/test_core/test_core_tohtml.py b/tests/test_core/test_core_tohtml.py index a274f2a6..80ac1b65 100644 --- a/tests/test_core/test_core_tohtml.py +++ b/tests/test_core/test_core_tohtml.py @@ -44,6 +44,7 @@ def testCoreToHtml_ConvertHeaders(mockGUI): # Header 1 html._text = "# Partition\n" html.tokenizeText() + html.doHeaders() html.doConvert() assert html.result == ( "

Partition

\n" @@ -52,6 +53,7 @@ def testCoreToHtml_ConvertHeaders(mockGUI): # Header 2 html._text = "## Chapter Title\n" html.tokenizeText() + html.doHeaders() html.doConvert() assert html.result == ( "

Chapter Title

\n" @@ -60,26 +62,30 @@ def testCoreToHtml_ConvertHeaders(mockGUI): # Header 3 html._text = "### Scene Title\n" html.tokenizeText() + html.doHeaders() html.doConvert() assert html.result == "

Scene Title

\n" # Header 4 html._text = "#### Section Title\n" html.tokenizeText() + html.doHeaders() html.doConvert() assert html.result == "

Section Title

\n" # Title html._text = "#! Title\n" html.tokenizeText() + html.doHeaders() html.doConvert() assert html.result == ( - "

Title

\n" + "

Title

\n" ) # Unnumbered html._text = "##! Prologue\n" html.tokenizeText() + html.doHeaders() html.doConvert() assert html.result == "

Prologue

\n" @@ -94,38 +100,45 @@ def testCoreToHtml_ConvertHeaders(mockGUI): # Header 1 html._text = "# Heading One\n" html.tokenizeText() + html.doHeaders() html.doConvert() assert html.result == "

Heading One

\n" # Header 2 html._text = "## Heading Two\n" html.tokenizeText() + html.doHeaders() html.doConvert() assert html.result == "

Heading Two

\n" # Header 3 html._text = "### Heading Three\n" html.tokenizeText() + html.doHeaders() html.doConvert() assert html.result == "

Heading Three

\n" # Header 4 html._text = "#### Heading Four\n" html.tokenizeText() + html.doHeaders() html.doConvert() assert html.result == "

Heading Four

\n" # Title html._text = "#! Heading One\n" html.tokenizeText() + html.doHeaders() html.doConvert() assert html.result == ( - "

Heading One

\n" + "

" + "Heading One

\n" ) # Unnumbered html._text = "##! Heading Two\n" html.tokenizeText() + html.doHeaders() html.doConvert() assert html.result == "

Heading Two

\n" @@ -227,9 +240,12 @@ def testCoreToHtml_ConvertParagraphs(mockGUI): ) # Multiple Keywords + html._isFirst = False + html._noBreak = False html.setKeywords(True) html._text = "## Chapter\n\n@pov: Bod\n@plot: Main\n@location: Europe\n\n" html.tokenizeText() + html.doHeaders() html.doConvert() assert html.result == ( "

Chapter

\n" @@ -457,8 +473,11 @@ def testCoreToHtml_SpecialCases(mockGUI): "

\n" ) + html._isFirst = False + html._noBreak = False html._text = "## Heading <1>\n" html.tokenizeText() + html.doHeaders() html.doConvert() assert html.result == ( "

Heading <1>

\n" @@ -532,6 +551,7 @@ def testCoreToHtml_Complex(mockGUI, fncPath): html._text = docText[i] html.doPreProcessing() html.tokenizeText() + html.doHeaders() html.doConvert() assert html.result == resText[i] diff --git a/tests/test_core/test_core_tokenizer.py b/tests/test_core/test_core_tokenizer.py index f722c89f..ea744eae 100644 --- a/tests/test_core/test_core_tokenizer.py +++ b/tests/test_core/test_core_tokenizer.py @@ -276,6 +276,7 @@ def testCoreToken_HeaderFormat(mockGUI): tokens._text = "# Novel Title\n" tokens.tokenizeText() + tokens.doHeaders() assert tokens._tokens == [ (Tokenizer.T_HEAD1, 1, "Novel Title", [], Tokenizer.A_CENTRE), (Tokenizer.T_EMPTY, 1, "", [], Tokenizer.A_NONE), @@ -289,6 +290,7 @@ def testCoreToken_HeaderFormat(mockGUI): tokens._text = "# Note Title\n" tokens.tokenizeText() + tokens.doHeaders() assert tokens._tokens == [ (Tokenizer.T_HEAD1, 1, "Note Title", [], Tokenizer.A_NONE), (Tokenizer.T_EMPTY, 1, "", [], Tokenizer.A_NONE), @@ -301,9 +303,11 @@ def testCoreToken_HeaderFormat(mockGUI): # Story File tokens._isNovel = True tokens._isNote = False + tokens._noBreak = False tokens._text = "## Chapter One\n" tokens.tokenizeText() + tokens.doHeaders() assert tokens._tokens == [ (Tokenizer.T_HEAD2, 1, "Chapter One", [], Tokenizer.A_PBB), (Tokenizer.T_EMPTY, 1, "", [], Tokenizer.A_NONE), @@ -316,6 +320,7 @@ def testCoreToken_HeaderFormat(mockGUI): tokens._text = "## Heading 2\n" tokens.tokenizeText() + tokens.doHeaders() assert tokens._tokens == [ (Tokenizer.T_HEAD2, 1, "Heading 2", [], Tokenizer.A_NONE), (Tokenizer.T_EMPTY, 1, "", [], Tokenizer.A_NONE), @@ -331,6 +336,7 @@ def testCoreToken_HeaderFormat(mockGUI): tokens._text = "### Scene One\n" tokens.tokenizeText() + tokens.doHeaders() assert tokens._tokens == [ (Tokenizer.T_HEAD3, 1, "Scene One", [], Tokenizer.A_NONE), (Tokenizer.T_EMPTY, 1, "", [], Tokenizer.A_NONE), @@ -343,6 +349,7 @@ def testCoreToken_HeaderFormat(mockGUI): tokens._text = "### Heading 3\n" tokens.tokenizeText() + tokens.doHeaders() assert tokens._tokens == [ (Tokenizer.T_HEAD3, 1, "Heading 3", [], Tokenizer.A_NONE), (Tokenizer.T_EMPTY, 1, "", [], Tokenizer.A_NONE), @@ -358,6 +365,7 @@ def testCoreToken_HeaderFormat(mockGUI): tokens._text = "#### A Section\n" tokens.tokenizeText() + tokens.doHeaders() assert tokens._tokens == [ (Tokenizer.T_HEAD4, 1, "A Section", [], Tokenizer.A_NONE), (Tokenizer.T_EMPTY, 1, "", [], Tokenizer.A_NONE), @@ -370,6 +378,7 @@ def testCoreToken_HeaderFormat(mockGUI): tokens._text = "#### Heading 4\n" tokens.tokenizeText() + tokens.doHeaders() assert tokens._tokens == [ (Tokenizer.T_HEAD4, 1, "Heading 4", [], Tokenizer.A_NONE), (Tokenizer.T_EMPTY, 1, "", [], Tokenizer.A_NONE), @@ -382,11 +391,13 @@ def testCoreToken_HeaderFormat(mockGUI): # Story File tokens._isNovel = True tokens._isNote = False + tokens._isFirst = False tokens._text = "#! Title\n" tokens.tokenizeText() + tokens.doHeaders() assert tokens._tokens == [ - (Tokenizer.T_TITLE, 1, "Title", [], Tokenizer.A_CENTRE), + (Tokenizer.T_TITLE, 1, "Title", [], Tokenizer.A_PBB | Tokenizer.A_CENTRE), (Tokenizer.T_EMPTY, 1, "", [], Tokenizer.A_NONE), ] assert tokens.allMarkdown[-1] == "#! Title\n\n" @@ -394,11 +405,13 @@ def testCoreToken_HeaderFormat(mockGUI): # Note File tokens._isNovel = False tokens._isNote = True + tokens._isFirst = False tokens._text = "#! Title\n" tokens.tokenizeText() + tokens.doHeaders() assert tokens._tokens == [ - (Tokenizer.T_HEAD1, 1, "Title", [], Tokenizer.A_CENTRE), + (Tokenizer.T_HEAD1, 1, "Title", [], Tokenizer.A_PBB | Tokenizer.A_CENTRE), (Tokenizer.T_EMPTY, 1, "", [], Tokenizer.A_NONE), ] assert tokens.allMarkdown[-1] == "#! Title\n\n" @@ -412,6 +425,7 @@ def testCoreToken_HeaderFormat(mockGUI): tokens._text = "##! Prologue\n" tokens.tokenizeText() + tokens.doHeaders() assert tokens._tokens == [ (Tokenizer.T_UNNUM, 1, "Prologue", [], Tokenizer.A_PBB), (Tokenizer.T_EMPTY, 1, "", [], Tokenizer.A_NONE), @@ -424,6 +438,7 @@ def testCoreToken_HeaderFormat(mockGUI): tokens._text = "##! Prologue\n" tokens.tokenizeText() + tokens.doHeaders() assert tokens._tokens == [ (Tokenizer.T_HEAD2, 1, "Prologue", [], Tokenizer.A_NONE), (Tokenizer.T_EMPTY, 1, "", [], Tokenizer.A_NONE), @@ -822,6 +837,7 @@ def testCoreToken_SpecialFormat(mockGUI): "# Title Two\n\n" ) tokens.tokenizeText() + tokens.doHeaders() assert tokens._tokens == correctResp # Command w/Space @@ -832,6 +848,7 @@ def testCoreToken_SpecialFormat(mockGUI): "# Title Two\n\n" ) tokens.tokenizeText() + tokens.doHeaders() assert tokens._tokens == correctResp # Trailing Spaces @@ -842,6 +859,7 @@ def testCoreToken_SpecialFormat(mockGUI): "# Title Two\n\n" ) tokens.tokenizeText() + tokens.doHeaders() assert tokens._tokens == correctResp # Single Empty Paragraph @@ -853,6 +871,7 @@ def testCoreToken_SpecialFormat(mockGUI): "Some text to go here ...\n\n" ) tokens.tokenizeText() + tokens.doHeaders() assert tokens._tokens == [ (Tokenizer.T_HEAD1, 1, "Title One", [], Tokenizer.A_PBB | Tokenizer.A_CENTRE), (Tokenizer.T_EMPTY, 1, "", [], Tokenizer.A_NONE), @@ -873,6 +892,7 @@ def testCoreToken_SpecialFormat(mockGUI): "Some text to go here ...\n\n" ) tokens.tokenizeText() + tokens.doHeaders() assert tokens._tokens == [ (Tokenizer.T_HEAD1, 1, "Title One", [], Tokenizer.A_PBB | Tokenizer.A_CENTRE), (Tokenizer.T_EMPTY, 1, "", [], Tokenizer.A_NONE), @@ -890,6 +910,7 @@ def testCoreToken_SpecialFormat(mockGUI): "Some text to go here ...\n\n" ) tokens.tokenizeText() + tokens.doHeaders() assert tokens._tokens == [ (Tokenizer.T_HEAD1, 1, "Title One", [], Tokenizer.A_PBB | Tokenizer.A_CENTRE), (Tokenizer.T_EMPTY, 1, "", [], Tokenizer.A_NONE), @@ -909,6 +930,7 @@ def testCoreToken_SpecialFormat(mockGUI): "Some text to go here ...\n\n" ) tokens.tokenizeText() + tokens.doHeaders() assert tokens._tokens == [ (Tokenizer.T_HEAD1, 1, "Title One", [], Tokenizer.A_PBB | Tokenizer.A_CENTRE), (Tokenizer.T_EMPTY, 1, "", [], Tokenizer.A_NONE), @@ -925,6 +947,7 @@ def testCoreToken_SpecialFormat(mockGUI): "Some text to go here ...\n\n" ) tokens.tokenizeText() + tokens.doHeaders() assert tokens._tokens == [ (Tokenizer.T_HEAD1, 1, "Title One", [], Tokenizer.A_PBB | Tokenizer.A_CENTRE), (Tokenizer.T_EMPTY, 1, "", [], Tokenizer.A_NONE), @@ -941,6 +964,7 @@ def testCoreToken_SpecialFormat(mockGUI): "Some text to go here ...\n\n" ) tokens.tokenizeText() + tokens.doHeaders() assert tokens._tokens == [ (Tokenizer.T_HEAD1, 1, "Title One", [], Tokenizer.A_PBB | Tokenizer.A_CENTRE), (Tokenizer.T_EMPTY, 1, "", [], Tokenizer.A_NONE), @@ -961,6 +985,7 @@ def testCoreToken_SpecialFormat(mockGUI): "Some text to go here ...\n\n" ) tokens.tokenizeText() + tokens.doHeaders() assert tokens._tokens == [ (Tokenizer.T_HEAD1, 1, "Title One", [], Tokenizer.A_PBB | Tokenizer.A_CENTRE), (Tokenizer.T_EMPTY, 1, "", [], Tokenizer.A_NONE), @@ -980,6 +1005,7 @@ def testCoreToken_SpecialFormat(mockGUI): "Some text to go here ...\n\n" ) tokens.tokenizeText() + tokens.doHeaders() assert tokens._tokens == [ (Tokenizer.T_HEAD1, 1, "Title One", [], Tokenizer.A_PBB | Tokenizer.A_CENTRE), (Tokenizer.T_EMPTY, 1, "", [], Tokenizer.A_NONE), diff --git a/tests/test_core/test_core_toodt.py b/tests/test_core/test_core_toodt.py index 23afa0ac..ccfb3cce 100644 --- a/tests/test_core/test_core_toodt.py +++ b/tests/test_core/test_core_toodt.py @@ -246,6 +246,7 @@ def testCoreToOdt_ConvertHeaders(mockGUI): # Header 1 odt._text = "# Title\n" odt.tokenizeText() + odt.doHeaders() odt.initDocument() odt.doConvert() odt.closeDocument() @@ -259,6 +260,7 @@ def testCoreToOdt_ConvertHeaders(mockGUI): # Header 2 odt._text = "## Chapter\n" odt.tokenizeText() + odt.doHeaders() odt.initDocument() odt.doConvert() odt.closeDocument() @@ -272,6 +274,7 @@ def testCoreToOdt_ConvertHeaders(mockGUI): # Header 3 odt._text = "### Scene\n" odt.tokenizeText() + odt.doHeaders() odt.initDocument() odt.doConvert() odt.closeDocument() @@ -285,6 +288,7 @@ def testCoreToOdt_ConvertHeaders(mockGUI): # Header 4 odt._text = "#### Section\n" odt.tokenizeText() + odt.doHeaders() odt.initDocument() odt.doConvert() odt.closeDocument() @@ -296,8 +300,10 @@ def testCoreToOdt_ConvertHeaders(mockGUI): ) # Title + odt._isFirst = True odt._text = "#! Title\n" odt.tokenizeText() + odt.doHeaders() odt.initDocument() odt.doConvert() odt.closeDocument() @@ -311,6 +317,7 @@ def testCoreToOdt_ConvertHeaders(mockGUI): # Unnumbered chapter odt._text = "##! Prologue\n" odt.tokenizeText() + odt.doHeaders() odt.initDocument() odt.doConvert() odt.closeDocument() @@ -605,6 +612,7 @@ def testCoreToOdt_ConvertParagraphs(mockGUI): "Text\n\n" ) odt.tokenizeText() + odt.doHeaders() odt.initDocument() odt.doConvert() odt.closeDocument() @@ -729,6 +737,7 @@ def testCoreToOdt_SaveFlat(mockGUI, fncPath, tstPaths): "Text\n\n" ) odt.tokenizeText() + odt.doHeaders() odt.initDocument() odt.doConvert() odt.closeDocument() @@ -768,6 +777,7 @@ def testCoreToOdt_SaveFull(mockGUI, fncPath, tstPaths): "Text\n\n" ) odt.tokenizeText() + odt.doHeaders() odt.initDocument() odt.doConvert() odt.closeDocument()