MCPcopy Index your code
hub / github.com/python/cpython / test_late_tail_mix_pi_comments

Method test_late_tail_mix_pi_comments

Lib/test/test_xml_etree.py:3791–3825  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

3789 self.assertEqual(a.text, "texttail")
3790
3791 def test_late_tail_mix_pi_comments(self):
3792 # Issue #37399: The tail of an ignored comment could overwrite the text before it.
3793 # Test appending tails to comments/pis.
3794 class TreeBuilderSubclass(ET.TreeBuilder):
3795 pass
3796
3797 xml = "<a>text<?pi1?> <!-- comment -->\n<?pi2?>tail</a>"
3798 parser = ET.XMLParser(target=ET.TreeBuilder(insert_comments=True))
3799 parser.feed(xml)
3800 a = parser.close()
3801 self.assertEqual(a[0].text, ' comment ')
3802 self.assertEqual(a[0].tail, '\ntail')
3803 self.assertEqual(a.text, "text ")
3804
3805 parser = ET.XMLParser(target=TreeBuilderSubclass(insert_comments=True))
3806 parser.feed(xml)
3807 a = parser.close()
3808 self.assertEqual(a[0].text, ' comment ')
3809 self.assertEqual(a[0].tail, '\ntail')
3810 self.assertEqual(a.text, "text ")
3811
3812 xml = "<a>text<!-- comment -->\n<?pi data?>tail</a>"
3813 parser = ET.XMLParser(target=ET.TreeBuilder(insert_pis=True))
3814 parser.feed(xml)
3815 a = parser.close()
3816 self.assertEqual(a[0].text, 'pi data')
3817 self.assertEqual(a[0].tail, 'tail')
3818 self.assertEqual(a.text, "text\n")
3819
3820 parser = ET.XMLParser(target=TreeBuilderSubclass(insert_pis=True))
3821 parser.feed(xml)
3822 a = parser.close()
3823 self.assertEqual(a[0].text, 'pi data')
3824 self.assertEqual(a[0].tail, 'tail')
3825 self.assertEqual(a.text, "text\n")
3826
3827 def test_treebuilder_elementfactory_none(self):
3828 parser = ET.XMLParser(target=ET.TreeBuilder(element_factory=None))

Callers

nothing calls this directly

Calls 4

feedMethod · 0.95
closeMethod · 0.95
TreeBuilderSubclassClass · 0.85
assertEqualMethod · 0.45

Tested by

no test coverage detected