def testCoreToHtml_Methods(dummyGUI): """Test all the other methods of the ToHtml class. """ theProject = NWProject(dummyGUI) theHtml = ToHtml(theProject, dummyGUI) theHtml.setKeepMarkdown(True) # Auto-Replace, keep Unicode docText = "Text with <brackets> & short–dash, long—dash …\n" theHtml.theText = docText theHtml.setReplaceUnicode(False) theHtml.doPreProcessing() theHtml.tokenizeText() theHtml.doConvert() assert theHtml.theResult == ( "<p>Text with <brackets> & short–dash, long—dash …</p>\n") # Auto-Replace, replace Unicode docText = "Text with <brackets> & short–dash, long—dash …\n" theHtml.theText = docText theHtml.setReplaceUnicode(True) theHtml.doPreProcessing() theHtml.tokenizeText() theHtml.doConvert() assert theHtml.theResult == ( "<p>Text with <brackets> & short–dash, long—dash …</p>\n" ) # With Preview theHtml.setPreview(True, True) theHtml.theText = docText theHtml.doPreProcessing() theHtml.tokenizeText() theHtml.doConvert() assert theHtml.theMarkdown[-1] == ( "Text with <brackets> & short–dash, long—dash …\n\n" ) theHtml.doPostProcessing() assert theHtml.theMarkdown[-1] == ( "Text with <brackets> & short–dash, long—dash …\n\n" ) # Result Size assert theHtml.getFullResultSize() == 147 # CSS # === assert len(theHtml.getStyleSheet()) > 1 assert "p {text-align: left;" in " ".join(theHtml.getStyleSheet()) assert "p {text-align: justify;" not in " ".join(theHtml.getStyleSheet()) theHtml.setJustify(True) assert "p {text-align: left;" not in " ".join(theHtml.getStyleSheet()) assert "p {text-align: justify;" in " ".join(theHtml.getStyleSheet()) theHtml.setStyles(False) assert theHtml.getStyleSheet() == []
def _buildPreview(self): """Build a preview of the project in the document viewer. """ # Get Settings justifyText = self.justifyText.isChecked() noStyling = self.noStyling.isChecked() textFont = self.textFont.text() textSize = self.textSize.value() replaceTabs = self.replaceTabs.isChecked() self.htmlText = [] self.htmlStyle = [] self.htmlSize = 0 # Build Preview # ============= makeHtml = ToHtml(self.theProject, self.theParent) self._doBuild(makeHtml, isPreview=True) if replaceTabs: makeHtml.replaceTabs() self.htmlText = makeHtml.fullHTML self.htmlStyle = makeHtml.getStyleSheet() self.htmlSize = makeHtml.getFullResultSize() self.buildTime = int(time()) # Load Preview # ============ self.docView.setTextFont(textFont, textSize) self.docView.setJustify(justifyText) if noStyling: self.docView.clearStyleSheet() else: self.docView.setStyleSheet(self.htmlStyle) if self.htmlSize < nwConst.MAX_BUILDSIZE: self.docView.setContent(self.htmlText, self.buildTime) else: self.docView.setText( "Failed to generate preview. The result is too big.") self._saveCache() return