def _read_doc_tree(toc_entry, doc_id, doc_path): config = CFMParserConfig( allowed_tags=lib.get_allowed_tags(), document_id=doc_id, document_path=doc_path) with toc_entry.root_path.open() as f: return cfm_to_cwdom(f.read(), config)
def test_self_closing_tag(self): root = CWRootNode(cfm_to_cwdom("<a />", CONFIG)) self.assertMultiLineEqual( root.get_string_for_test_comparison(), self.strip(""" Root() a(kwargs={}) """))
def test_block_html_6(self): s = self.strip(""" <x> some test </x> """) self.log_node(CWRootNode(cfm_to_cwdom(s, CONFIG, fix_tags=False))) root = CWRootNode(cfm_to_cwdom(s, CONFIG)) self.assertMultiLineEqual( root.get_string_for_test_comparison(), self.strip(""" Root() x(kwargs={}) p(kwargs={}) 'some test' """))
def test_block_html_3(self): s = self.strip(""" <x> some test</x> """) root = CWRootNode(cfm_to_cwdom(s, CONFIG)) self.log_node(root)
def _get_symbol_node( parser_config, src_url_fmt, path, symbol, h_level=2, full_path=True): src_link_nodes = [] if src_url_fmt: output_url = src_url_fmt.format( relative_path=symbol.relative_path, line_number=symbol.line_number) link = CWTagNode( 'a', {'href': output_url, 'class': 'autodoc-source-link'}, [CWTextNode('src')]) src_link_nodes = [link] name_nodes = [] if symbol.type in {'class', 'function'}: name_nodes.append( CWTagNode('span', {'class': 'autodoc-keyword'}, [ CWTextNode(symbol.type + ' ') ])) name_nodes.append( CWTagNode('span', {'class': 'autodoc-identifier'}, [ CWTextNode(path if full_path else symbol.name) ])) if symbol.string_inside_parens is not None: name_nodes.append( CWTagNode('span', {'class': 'autodoc-arguments'}, [ CWTextNode('(' + symbol.string_inside_parens + ')') ])) if symbol.return_value: name_nodes.append( CWTagNode('span', {'class': 'autodoc-return-value'}, [ CWTextNode(' → ', escape=False), CWTextNode(symbol.return_value) ])) heading_node = CWTagNode( 'h{}'.format(h_level), {}, [CWTagNode('code', {}, name_nodes)] + src_link_nodes ) heading_node.data['ref_id_override'] = path children = [heading_node] if symbol.docstring: css_class = 'autodoc-{}-docstring-body'.format(symbol.type) docstring_children = cfm_to_cwdom(symbol.docstring, parser_config) children.append(CWTagNode( 'div', {'class': css_class}, children=docstring_children)) node = CWTagNode( 'section', kwargs={'class': 'autodoc-{}'.format(symbol.type)}, children=children) return node
def test_inline_html(self): root = CWRootNode(cfm_to_cwdom("a <b><c>b</c></b> c", CONFIG)) self.assertMultiLineEqual( root.get_string_for_test_comparison(), self.strip(""" Root() 'a ' b(kwargs={}) c(kwargs={}) 'b' ' c' """))
def test_block_html_5(self): s = self.strip(""" <x> some test </x> """) root = CWRootNode(cfm_to_cwdom(s, CONFIG)) self.assertMultiLineEqual( root.get_string_for_test_comparison(), self.strip(""" Root() x(kwargs={}) '\\nsome test' """))
def test_block_html_2(self): s = self.strip(""" abc<x>some <x>test </x> </x>abc """) print('----------------------') self.log_node(CWRootNode(cfm_to_cwdom(s, CONFIG, fix_tags=False))) root = CWRootNode(cfm_to_cwdom(s, CONFIG)) self.log_node(root) self.assertMultiLineEqual( root.get_string_for_test_comparison(), self.strip(""" Root() p(kwargs={}) 'abc' x(kwargs={}) p(kwargs={}) 'some test' p(kwargs={}) 'abc' """)) print('^^^^^')