def test_render_to_html(self): """ Test the ``render_to_html`` function """ root_tree_node = RootTreeNode() tree_node_l1 = root_tree_node.new_child('level1', get_test_node('level1-1')) root_tree_node.new_child('level1', get_test_node('level1-2')) tree_node_l2 = tree_node_l1.new_child('level2', get_test_node('level2-1')) tree_node_l1.new_child('level2', get_test_node('level2-2')) root_tree_node.new_child('level1', get_test_node('level1-3')) tree_node_l2.new_child('level3', get_test_node('level3-1')) tree_node_l2.new_child('level3', get_test_node('level3-2')) tree_node_l1.new_child('level2', get_test_node('level2-3')) output = render_to_html(root_tree_node, some_custom_kwarg='foobar') expected_output = '[HTML+level1-1]' \ '[HTML+level2-1]' \ '[HTML+level3-1][/HTML]' \ '[HTML+level3-2][/HTML]' \ '[/HTML]' \ '[HTML+level2-2][/HTML]' \ '[HTML+level2-3][/HTML]' \ '[/HTML]' \ '[HTML+level1-2][/HTML]' \ '[HTML+level1-3][/HTML]' self.assertEqual(expected_output, output)
def test_render_to_html_with_error_suppressed(self): """ Test the ``render_to_html`` function with erroneous node (error suppressed) """ root_tree_node = RootTreeNode() tree_node_l1 = root_tree_node.new_child('level1', get_test_node('level1-1'), source_open_tag='[level1-1]', source_close_tag='[/level1-1]', error_message='foo') tree_node_l1.error_message = 'foo' root_tree_node.new_child('level1', get_test_node('level1-2')) tree_node_l2 = tree_node_l1.new_child('level2', get_test_node('level2-1')) tree_node_l1.new_child('level2', get_test_node('level2-2')) root_tree_node.new_child('level1', get_test_node('level1-3')) tree_node_l2.new_child('level3', get_test_node('level3-1')) tree_node_l3 = tree_node_l2.new_child('level3', get_test_node('level3-2'), source_open_tag='[level3-2]', source_close_tag='[/level3-2]', error_message='bar') tree_node_l3.error_message = 'bar' tree_node_l1.new_child('level2', get_test_node('level2-3')) output = render_to_html(root_tree_node, html_error_template=SUPPRESS_ERROR_HTML_TEMPLATE, some_custom_kwarg='foobar') expected_output = '<!-- foo --> [level1-1]\n' \ '[HTML+level2-1]' \ '[HTML+level3-1][/HTML]' \ '<!-- bar --> [level3-2]\n<!-- bar --> [/level3-2]' \ '[/HTML]' \ '[HTML+level2-2][/HTML]' \ '[HTML+level2-3][/HTML]\n' \ '<!-- foo --> [/level1-1]' \ '[HTML+level1-2][/HTML]' \ '[HTML+level1-3][/HTML]' self.assertEqual(expected_output, output)
def test_render_to_html_with_error(self): """ Test the ``render_to_html`` function with erroneous node """ root_tree_node = RootTreeNode() tree_node_l1 = root_tree_node.new_child('level1', get_test_node('level1-1'), source_open_tag='[level1-1]', source_close_tag='[/level1-1]', error_message='foo') tree_node_l1.error_message = 'foo' root_tree_node.new_child('level1', get_test_node('level1-2')) tree_node_l2 = tree_node_l1.new_child('level2', get_test_node('level2-1')) tree_node_l1.new_child('level2', get_test_node('level2-2')) root_tree_node.new_child('level1', get_test_node('level1-3')) tree_node_l2.new_child('level3', get_test_node('level3-1')) tree_node_l3 = tree_node_l2.new_child('level3', get_test_node('level3-2'), source_open_tag='[level3-2]', source_close_tag='[/level3-2]', error_message='bar') tree_node_l3.error_message = 'bar' tree_node_l1.new_child('level2', get_test_node('level2-3')) output = render_to_html(root_tree_node, html_error_template='<error={error_message}>{source}</error>', some_custom_kwarg='foobar') expected_output = '<error=foo>[level1-1]</error>\n' \ '[HTML+level2-1]' \ '[HTML+level3-1][/HTML]' \ '<error=bar>[level3-2]</error>\n<error=bar>[/level3-2]</error>' \ '[/HTML]' \ '[HTML+level2-2][/HTML]' \ '[HTML+level2-3][/HTML]\n' \ '<error=foo>[/level1-1]</error>' \ '[HTML+level1-2][/HTML]' \ '[HTML+level1-3][/HTML]' self.assertEqual(expected_output, output)
def test_render_to_html_with_error_suppressed(self): """ Test the ``render_to_html`` function with erroneous node (error suppressed) """ root_tree_node = RootTreeNode() tree_node_l1 = root_tree_node.new_child('level1', get_test_node('level1-1'), source_open_tag='[level1-1]', source_close_tag='[/level1-1]', error_message='foo') tree_node_l1.error_message = 'foo' root_tree_node.new_child('level1', get_test_node('level1-2')) tree_node_l2 = tree_node_l1.new_child('level2', get_test_node('level2-1')) tree_node_l1.new_child('level2', get_test_node('level2-2')) root_tree_node.new_child('level1', get_test_node('level1-3')) tree_node_l2.new_child('level3', get_test_node('level3-1')) tree_node_l3 = tree_node_l2.new_child('level3', get_test_node('level3-2'), source_open_tag='[level3-2]', source_close_tag='[/level3-2]', error_message='bar') tree_node_l3.error_message = 'bar' tree_node_l1.new_child('level2', get_test_node('level2-3')) output = render_to_html( root_tree_node, html_error_template=SUPPRESS_ERROR_HTML_TEMPLATE, some_custom_kwarg='foobar') expected_output = '<!-- foo --> [level1-1]\n' \ '[HTML+level2-1]' \ '[HTML+level3-1][/HTML]' \ '<!-- bar --> [level3-2]\n<!-- bar --> [/level3-2]' \ '[/HTML]' \ '[HTML+level2-2][/HTML]' \ '[HTML+level2-3][/HTML]\n' \ '<!-- foo --> [/level1-1]' \ '[HTML+level1-2][/HTML]' \ '[HTML+level1-3][/HTML]' self.assertEqual(expected_output, output)
def test_render_to_html_with_error(self): """ Test the ``render_to_html`` function with erroneous node """ root_tree_node = RootTreeNode() tree_node_l1 = root_tree_node.new_child('level1', get_test_node('level1-1'), source_open_tag='[level1-1]', source_close_tag='[/level1-1]', error_message='foo') tree_node_l1.error_message = 'foo' root_tree_node.new_child('level1', get_test_node('level1-2')) tree_node_l2 = tree_node_l1.new_child('level2', get_test_node('level2-1')) tree_node_l1.new_child('level2', get_test_node('level2-2')) root_tree_node.new_child('level1', get_test_node('level1-3')) tree_node_l2.new_child('level3', get_test_node('level3-1')) tree_node_l3 = tree_node_l2.new_child('level3', get_test_node('level3-2'), source_open_tag='[level3-2]', source_close_tag='[/level3-2]', error_message='bar') tree_node_l3.error_message = 'bar' tree_node_l1.new_child('level2', get_test_node('level2-3')) output = render_to_html( root_tree_node, html_error_template='<error={error_message}>{source}</error>', some_custom_kwarg='foobar') expected_output = '<error=foo>[level1-1]</error>\n' \ '[HTML+level2-1]' \ '[HTML+level3-1][/HTML]' \ '<error=bar>[level3-2]</error>\n<error=bar>[/level3-2]</error>' \ '[/HTML]' \ '[HTML+level2-2][/HTML]' \ '[HTML+level2-3][/HTML]\n' \ '<error=foo>[/level1-1]</error>' \ '[HTML+level1-2][/HTML]' \ '[HTML+level1-3][/HTML]' self.assertEqual(expected_output, output)