(self)
| 542 | self.serialize_check(elem, '<tag><subtag key="value" /></tag>') |
| 543 | |
| 544 | def test_parsefile(self): |
| 545 | # Test parsing from file. |
| 546 | |
| 547 | tree = ET.parse(SIMPLE_XMLFILE) |
| 548 | stream = io.StringIO() |
| 549 | tree.write(stream, encoding='unicode') |
| 550 | self.assertEqual(stream.getvalue(), |
| 551 | '<root>\n' |
| 552 | ' <element key="value">text</element>\n' |
| 553 | ' <element>text</element>tail\n' |
| 554 | ' <empty-element />\n' |
| 555 | '</root>') |
| 556 | tree = ET.parse(SIMPLE_NS_XMLFILE) |
| 557 | stream = io.StringIO() |
| 558 | tree.write(stream, encoding='unicode') |
| 559 | self.assertEqual(stream.getvalue(), |
| 560 | '<ns0:root xmlns:ns0="namespace">\n' |
| 561 | ' <ns0:element key="value">text</ns0:element>\n' |
| 562 | ' <ns0:element>text</ns0:element>tail\n' |
| 563 | ' <ns0:empty-element />\n' |
| 564 | '</ns0:root>') |
| 565 | |
| 566 | with open(SIMPLE_XMLFILE) as f: |
| 567 | data = f.read() |
| 568 | |
| 569 | parser = ET.XMLParser() |
| 570 | self.assertRegex(parser.version, r'^Expat ') |
| 571 | parser.feed(data) |
| 572 | self.serialize_check(parser.close(), |
| 573 | '<root>\n' |
| 574 | ' <element key="value">text</element>\n' |
| 575 | ' <element>text</element>tail\n' |
| 576 | ' <empty-element />\n' |
| 577 | '</root>') |
| 578 | |
| 579 | target = ET.TreeBuilder() |
| 580 | parser = ET.XMLParser(target=target) |
| 581 | parser.feed(data) |
| 582 | self.serialize_check(parser.close(), |
| 583 | '<root>\n' |
| 584 | ' <element key="value">text</element>\n' |
| 585 | ' <element>text</element>tail\n' |
| 586 | ' <empty-element />\n' |
| 587 | '</root>') |
| 588 | |
| 589 | def test_parseliteral(self): |
| 590 | element = ET.XML("<html><body>text</body></html>") |
nothing calls this directly
no test coverage detected