class TestParser(unittest.TestCase): def setUp(self): self.parser = Parser() @given(text()) @example('') @example('* unicode: \u2020') def test_text(self, s): self.parser.parse(s)
def __init__( self, markup: str, code_theme: str = "monokai", justify: JustifyValues = None, style: Union[str, Style] = "none", ) -> None: self.markup = markup parser = Parser() self.parsed = parser.parse(markup) self.code_theme = code_theme self.justify = justify self.style = style
def __init__( self, markup: str, code_theme: str = "monokai", justify: JustifyMethod = None, style: Union[str, Style] = "none", hyperlinks: bool = True, ) -> None: self.markup = markup parser = Parser() self.parsed = parser.parse(markup) self.code_theme = code_theme self.justify = justify self.style = style self.hyperlinks = hyperlinks
def __init__( self, markup: str, code_theme: str = "monokai", justify: Optional[JustifyMethod] = None, style: Union[str, Style] = "none", hyperlinks: bool = True, inline_code_lexer: Optional[str] = None, inline_code_theme: Optional[str] = None, ) -> None: self.markup = markup parser = Parser() self.parsed = parser.parse(markup) self.code_theme = code_theme self.justify = justify self.style = style self.hyperlinks = hyperlinks self.inline_code_lexer = inline_code_lexer self.inline_code_theme = inline_code_theme or code_theme
def commonmark(text, format="html"): """Render CommonMark into HTML, JSON or AST Optional keyword arguments: format: 'html' (default), 'json' or 'ast' >>> commonmark("*hello!*") '<p><em>hello</em></p>\\n' """ parser = Parser() ast = parser.parse(text) if format not in ["html", "json", "ast", "rst"]: raise ValueError("format must be 'html', 'json' or 'ast'") if format == "html": renderer = HtmlRenderer() return renderer.render(ast) if format == "json": return dumpJSON(ast) if format == "ast": return dumpAST(ast) if format == "rst": renderer = ReStructuredTextRenderer() return renderer.render(ast)
def test_normalize_contracts_text_nodes(self): md = '_a' ast = Parser().parse(md) def assert_text_literals(text_literals): walker = ast.walker() document, _ = walker.next() self.assertEqual(document.t, 'document') paragraph, _ = walker.next() self.assertEqual(paragraph.t, 'paragraph') for literal in text_literals: text, _ = walker.next() self.assertEqual(text.t, 'text') self.assertEqual(text.literal, literal) paragraph, _ = walker.next() self.assertEqual(paragraph.t, 'paragraph') assert_text_literals(['_', 'a']) ast.normalize() # assert text nodes are contracted assert_text_literals(['_a']) ast.normalize() # assert normalize() doesn't alter a normalized ast assert_text_literals(['_a'])
def test_dumpAST_orderedlist(self): md = '1.' ast = Parser().parse(md) commonmark.dumpAST(ast)
def setUp(self): self.parser = Parser()