diff --git a/tests/test_formats/test_fmt_todocx.py b/tests/test_formats/test_fmt_todocx.py index b1ce0877..3d4e62a0 100644 --- a/tests/test_formats/test_fmt_todocx.py +++ b/tests/test_formats/test_fmt_todocx.py @@ -38,8 +38,8 @@ from tests.tools import DOCX_IGNORE, cmpFiles, xmlToText @pytest.mark.core -def testFmtToDocX_HeadingStyles(mockGUI): - """Test formatting of headings.""" +def testFmtToDocX_NovelHeadingStyles(mockGUI): + """Test formatting of novel headings.""" project = NWProject() doc = ToDocX(project) doc._isNovel = True @@ -151,6 +151,76 @@ def testFmtToDocX_HeadingStyles(mockGUI): ) +@pytest.mark.core +def testFmtToDocX_NotesHeadingStyles(mockGUI): + """Test formatting of notes headings.""" + project = NWProject() + doc = ToDocX(project) + doc._isNovel = False + doc.initDocument() + + # Title + # ===== + + xTest = ET.Element(_wTag("body")) + doc._text = "#! Hello World" + doc.tokenizeText() + doc.doConvert() + doc._pars[-1].toXml(xTest) + assert xmlToText(xTest) == ( + '' + 'Hello World' + ) + + # Heading 1 + # ========= + doc._text = "# Hello World" + xTest = ET.Element(_wTag("body")) + doc.tokenizeText() + doc.doConvert() + doc._pars[-1].toXml(xTest) + assert xmlToText(xTest) == ( + '' + 'Hello World' + ) + + # Heading 2 + # ========= + doc._text = "## Hello World" + xTest = ET.Element(_wTag("body")) + doc.tokenizeText() + doc.doConvert() + doc._pars[-1].toXml(xTest) + assert xmlToText(xTest) == ( + '' + 'Hello World' + ) + + # Heading 3 + # ========= + doc._text = "### Hello World" + xTest = ET.Element(_wTag("body")) + doc.tokenizeText() + doc.doConvert() + doc._pars[-1].toXml(xTest) + assert xmlToText(xTest) == ( + '' + 'Hello World' + ) + + # Heading 4 + # ========= + doc._text = "#### Hello World" + xTest = ET.Element(_wTag("body")) + doc.tokenizeText() + doc.doConvert() + doc._pars[-1].toXml(xTest) + assert xmlToText(xTest) == ( + '' + 'Hello World' + ) + + @pytest.mark.core def testFmtToDocX_ParagraphStyles(mockGUI): """Test formatting of paragraphs.""" diff --git a/tests/test_formats/test_fmt_toodt.py b/tests/test_formats/test_fmt_toodt.py index 5cdc53a3..4b3911bb 100644 --- a/tests/test_formats/test_fmt_toodt.py +++ b/tests/test_formats/test_fmt_toodt.py @@ -295,69 +295,12 @@ def testFmtToOdt_DialogueFormatting(mockGUI): @pytest.mark.core -def testFmtToOdt_ConvertHeaders(mockGUI): - """Test the converter of the ToOdt class.""" +def testFmtToOdt_ConvertNovelHeadings(mockGUI): + """Test the novel heading converter of the ToOdt class.""" project = NWProject() odt = ToOdt(project, isFlat=True) odt._isNovel = True - # Header 1 - odt._text = "# Title\n" - odt.setPartitionFormat(f"Part{nwHeadFmt.BR}{nwHeadFmt.TITLE}") - odt.tokenizeText() - odt.initDocument() - odt.doConvert() - odt.closeDocument() - assert odt.errData == [] - assert xmlToText(odt._xText) == ( - '' - 'PartTitle' - '' - ) - - # Header 2 - odt._text = "## Title\n" - odt.setChapterFormat(f"Chapter {nwHeadFmt.CH_NUM}{nwHeadFmt.BR}{nwHeadFmt.TITLE}") - odt.tokenizeText() - odt.initDocument() - odt.doConvert() - odt.closeDocument() - assert odt.errData == [] - assert xmlToText(odt._xText) == ( - '' - 'Chapter 1' - 'Title' - '' - ) - - # Header 3 - odt._text = "### Title\n" - odt.setSceneFormat(f"Scene {nwHeadFmt.SC_ABS}{nwHeadFmt.BR}{nwHeadFmt.TITLE}") - odt.tokenizeText() - odt.initDocument() - odt.doConvert() - odt.closeDocument() - assert odt.errData == [] - assert xmlToText(odt._xText) == ( - '' - 'Scene 1' - 'Title' - '' - ) - - # Header 4 - odt._text = "#### Title\n" - odt.tokenizeText() - odt.initDocument() - odt.doConvert() - odt.closeDocument() - assert odt.errData == [] - assert xmlToText(odt._xText) == ( - '' - 'Title' - '' - ) - # Title odt._isFirst = True odt._text = "#! Title\n" @@ -372,7 +315,36 @@ def testFmtToOdt_ConvertHeaders(mockGUI): '' ) - # Unnumbered chapter + # Partition + odt._text = "# Title\n" + odt.setPartitionFormat(f"Part{nwHeadFmt.BR}{nwHeadFmt.TITLE}") + odt.tokenizeText() + odt.initDocument() + odt.doConvert() + odt.closeDocument() + assert odt.errData == [] + assert xmlToText(odt._xText) == ( + '' + 'PartTitle' + '' + ) + + # Chapter + odt._text = "## Title\n" + odt.setChapterFormat(f"Chapter {nwHeadFmt.CH_NUM}{nwHeadFmt.BR}{nwHeadFmt.TITLE}") + odt.tokenizeText() + odt.initDocument() + odt.doConvert() + odt.closeDocument() + assert odt.errData == [] + assert xmlToText(odt._xText) == ( + '' + 'Chapter 1' + 'Title' + '' + ) + + # Unnumbered Chapter odt._text = "##! Prologue\n" odt.tokenizeText() odt.initDocument() @@ -381,7 +353,110 @@ def testFmtToOdt_ConvertHeaders(mockGUI): assert odt.errData == [] assert xmlToText(odt._xText) == ( '' - 'Prologue' + 'Prologue' + '' + ) + + # Scene + odt._text = "### Title\n" + odt.setSceneFormat(f"Scene {nwHeadFmt.SC_ABS}{nwHeadFmt.BR}{nwHeadFmt.TITLE}") + odt.tokenizeText() + odt.initDocument() + odt.doConvert() + odt.closeDocument() + assert odt.errData == [] + assert xmlToText(odt._xText) == ( + '' + 'Scene 1' + 'Title' + '' + ) + + # Alt. Scene + odt._text = "###! Title\n" + odt.setHardSceneFormat(f"Scene {nwHeadFmt.SC_ABS}{nwHeadFmt.BR}{nwHeadFmt.TITLE}") + odt.tokenizeText() + odt.initDocument() + odt.doConvert() + odt.closeDocument() + assert odt.errData == [] + assert xmlToText(odt._xText) == ( + '' + 'Scene 2' + 'Title' + '' + ) + + # Section + odt._text = "#### Title\n" + odt.tokenizeText() + odt.initDocument() + odt.doConvert() + odt.closeDocument() + assert odt.errData == [] + assert xmlToText(odt._xText) == ( + '' + 'Title' + '' + ) + + +@pytest.mark.core +def testFmtToOdt_ConvertNotesHeadings(mockGUI): + """Test the notes headings converter of the ToOdt class.""" + project = NWProject() + odt = ToOdt(project, isFlat=True) + odt._isNovel = False + + # Header 1 + odt._text = "# Title\n" + odt.tokenizeText() + odt.initDocument() + odt.doConvert() + odt.closeDocument() + assert odt.errData == [] + assert xmlToText(odt._xText) == ( + '' + 'Title' + '' + ) + + # Header 2 + odt._text = "## Title\n" + odt.tokenizeText() + odt.initDocument() + odt.doConvert() + odt.closeDocument() + assert odt.errData == [] + assert xmlToText(odt._xText) == ( + '' + 'Title' + '' + ) + + # Header 3 + odt._text = "### Title\n" + odt.tokenizeText() + odt.initDocument() + odt.doConvert() + odt.closeDocument() + assert odt.errData == [] + assert xmlToText(odt._xText) == ( + '' + 'Title' + '' + ) + + # Header 4 + odt._text = "#### Title\n" + odt.tokenizeText() + odt.initDocument() + odt.doConvert() + odt.closeDocument() + assert odt.errData == [] + assert xmlToText(odt._xText) == ( + '' + 'Title' '' )