[docs] ElementTree: Document handling processing instructions (issue 20375)
Nikolaus at rath.org
Nikolaus at rath.org
Thu Mar 20 03:44:23 CET 2014
Reviewers: Claudiu.Popa,
http://bugs.python.org/review/20375/diff/10762/Lib/test/test_xml_etree.py
File Lib/test/test_xml_etree.py (right):
http://bugs.python.org/review/20375/diff/10762/Lib/test/test_xml_etree.py#newcode1628
Lib/test/test_xml_etree.py:1628:
self.assertTrue(len(tree2.getroot().getchildren()) == 0)
On 2014/03/19 11:48:55, Claudiu.Popa wrote:
> Why not self.assertEqual(len(tree..), 0)?
Done.
http://bugs.python.org/review/20375/diff/10762/Lib/test/test_xml_etree.py#newcode1639
Lib/test/test_xml_etree.py:1639: self.assertTrue(b'<!--not to be
rendered-->' in bytes(stream.getbuffer()))
On 2014/03/19 11:48:55, Claudiu.Popa wrote:
> self.assertIn(b'..', bytes(..)) is clearer.
Done.
http://bugs.python.org/review/20375/diff/10762/Lib/test/test_xml_etree.py#newcode1644
Lib/test/test_xml_etree.py:1644:
self.assertTrue(len(tree2.getroot().getchildren()) == 0)
On 2014/03/19 11:48:55, Claudiu.Popa wrote:
> As above.
Done.
Please review this at http://bugs.python.org/review/20375/
Affected files:
Lib/test/test_xml_etree.py
diff --git a/Lib/test/test_xml_etree.py b/Lib/test/test_xml_etree.py
--- a/Lib/test/test_xml_etree.py
+++ b/Lib/test/test_xml_etree.py
@@ -1612,7 +1612,37 @@
ET.register_namespace('test10777', 'http://myuri/')
ET.register_namespace('test10777', 'http://myuri/')
-
+ def test_pi_treatment(self):
+ root = ET.Element('body', { 'text': 'some text'})
+ root.append(ET.ProcessingInstruction('verb', 'extra data'))
+ tree = ET.ElementTree(root)
+ stream = io.BytesIO()
+ tree.write(stream)
+
+ # PIs are serialized to XML..
+ self.assertTrue(b'<?verb extra data?>' in bytes(stream.getbuffer()))
+
+ # ..but skipped when parsing XML
+ stream.seek(0)
+ tree2 = ET.parse(stream)
+ self.assertTrue(len(tree2.getroot().getchildren()) == 0)
+
+
+ def test_comment_treatment(self):
+ root = ET.Element('body', { 'text': 'some text'})
+ root.append(ET.Comment('not to be rendered'))
+ tree = ET.ElementTree(root)
+ stream = io.BytesIO()
+ tree.write(stream)
+
+ # PIs are serialized to XML..
+ self.assertTrue(b'<!--not to be rendered-->' in bytes(stream.getbuffer()))
+
+ # ..but skipped when parsing XML
+ stream.seek(0)
+ tree2 = ET.parse(stream)
+ self.assertTrue(len(tree2.getroot().getchildren()) == 0)
+
# --------------------------------------------------------------------
More information about the docs
mailing list