Beispiel #1
0
 def test_element_nested(self):
     with etree.xmlfile(self._file) as xf:
         with xf.element('test'):
             with xf.element('toast'):
                 with xf.element('taste'):
                     xf.write('conTent')
     self.assertXml('<test><toast><taste>conTent</taste></toast></test>')
 def test_namespace_nested_anonymous(self):
     with etree.xmlfile(self._file) as xf:
         with xf.element('test'):
             with xf.element('{nsURI}toast'):
                 pass
     self.assertXml(
         '<test><ns0:toast xmlns:ns0="nsURI"></ns0:toast></test>')
Beispiel #3
0
 def test_element_nested(self):
     with etree.xmlfile(self._file) as xf:
         with xf.element('test'):
             with xf.element('toast'):
                 with xf.element('taste'):
                     xf.write('conTent')
     self.assertXml('<test><toast><taste>conTent</taste></toast></test>')
Beispiel #4
0
 def test_escaping(self):
     with etree.xmlfile(self._file) as xf:
         with xf.element('test'):
             xf.write('Comments: <!-- text -->\n')
             xf.write('Entities: &amp;')
     self.assertXml(
         '<test>Comments: &lt;!-- text --&gt;\nEntities: &amp;amp;</test>')
 def test_element_nested(self):
     with etree.xmlfile(self._file) as xf:
         with xf.element("test"):
             with xf.element("toast"):
                 with xf.element("taste"):
                     xf.write("conTent")
     self.assertXml("<test><toast><taste>conTent</taste></toast></test>")
Beispiel #6
0
 def test_escaping(self):
     with etree.xmlfile(self._file) as xf:
         with xf.element('test'):
             xf.write('Comments: <!-- text -->\n')
             xf.write('Entities: &amp;')
     self.assertXml(
         '<test>Comments: &lt;!-- text --&gt;\nEntities: &amp;amp;</test>')
Beispiel #7
0
 def test_failure_preceding_text(self):
     try:
         with etree.xmlfile(self._file) as xf:
             xf.write('toast')
     except etree.LxmlSyntaxError:
         self.assertTrue(True)
     else:
         self.assertTrue(False)
Beispiel #8
0
 def test_failure_preceding_text(self):
     try:
         with etree.xmlfile(self._file) as xf:
             xf.write('toast')
     except etree.LxmlSyntaxError:
         self.assertTrue(True)
     else:
         self.assertTrue(False)
 def test_nested_default_namespace_and_other(self):
     with etree.xmlfile(self._file) as xf:
         with xf.element("{nsURI}test", nsmap={None: "nsURI", "p": "ns2"}):
             with xf.element("{nsURI}toast"):
                 pass
             with xf.element("{ns2}toast"):
                 pass
     self.assertXml('<test xmlns="nsURI" xmlns:p="ns2"><toast></toast><p:toast></p:toast></test>')
Beispiel #10
0
 def test_failure_trailing_Element(self):
     with etree.xmlfile(self._file) as xf:
         with xf.element('test'):
             pass
         try:
             xf.write(etree.Element('test'))
         except etree.LxmlSyntaxError:
             self.assertTrue(True)
         else:
             self.assertTrue(False)
Beispiel #11
0
 def test_nested_default_namespace_and_other(self):
     with etree.xmlfile(self._file) as xf:
         with xf.element('{nsURI}test', nsmap={None: 'nsURI', 'p': 'ns2'}):
             with xf.element('{nsURI}toast'):
                 pass
             with xf.element('{ns2}toast'):
                 pass
     self.assertXml(
         '<test xmlns="nsURI" xmlns:p="ns2"><toast></toast><p:toast></p:toast></test>'
     )
Beispiel #12
0
 def test_failure_trailing_Element(self):
     with etree.xmlfile(self._file) as xf:
         with xf.element('test'):
             pass
         try:
             xf.write(etree.Element('test'))
         except etree.LxmlSyntaxError:
             self.assertTrue(True)
         else:
             self.assertTrue(False)
 def test_element_nested_with_text(self):
     with etree.xmlfile(self._file) as xf:
         with xf.element("test"):
             xf.write("con")
             with xf.element("toast"):
                 xf.write("tent")
                 with xf.element("taste"):
                     xf.write("inside")
                 xf.write("tnet")
             xf.write("noc")
     self.assertXml("<test>con<toast>tent<taste>inside</taste>" "tnet</toast>noc</test>")
Beispiel #14
0
    def test_write_Element_repeatedly(self):
        element = etree.Element('test')
        with etree.xmlfile(self._file) as xf:
            with xf.element('test'):
                for i in range(100):
                    xf.write(element)

        tree = self._parse_file()
        self.assertTrue(tree is not None)
        self.assertEqual(100, len(tree.getroot()))
        self.assertEqual(set(['test']), set(el.tag for el in tree.getroot()))
Beispiel #15
0
    def test_write_Element_repeatedly(self):
        element = etree.Element('test')
        with etree.xmlfile(self._file) as xf:
            with xf.element('test'):
                for i in range(100):
                    xf.write(element)

        tree = self._parse_file()
        self.assertTrue(tree is not None)
        self.assertEqual(100, len(tree.getroot()))
        self.assertEqual(set(['test']), set(el.tag for el in tree.getroot()))
Beispiel #16
0
 def test_element_nested_with_text(self):
     with etree.xmlfile(self._file) as xf:
         with xf.element('test'):
             xf.write('con')
             with xf.element('toast'):
                 xf.write('tent')
                 with xf.element('taste'):
                     xf.write('inside')
                 xf.write('tnet')
             xf.write('noc')
     self.assertXml('<test>con<toast>tent<taste>inside</taste>'
                    'tnet</toast>noc</test>')
Beispiel #17
0
 def test_element_nested_with_text(self):
     with etree.xmlfile(self._file) as xf:
         with xf.element('test'):
             xf.write('con')
             with xf.element('toast'):
                 xf.write('tent')
                 with xf.element('taste'):
                     xf.write('inside')
                 xf.write('tnet')
             xf.write('noc')
     self.assertXml('<test>con<toast>tent<taste>inside</taste>'
                    'tnet</toast>noc</test>')
 def test_flush(self):
     with etree.xmlfile(self._file, buffered=True) as xf:
         with xf.element('test'):
             self.assertXml("")
             xf.write('toast')
             self.assertXml("")
             with xf.element('taste'):
                 self.assertXml("")
                 xf.flush()
                 self.assertXml("<test>toast<taste>")
             self.assertXml("<test>toast<taste>")
         self.assertXml("<test>toast<taste>")
     self.assertXml("<test>toast<taste></taste></test>")
Beispiel #19
0
 def test_flush(self):
     with etree.xmlfile(self._file, buffered=True) as xf:
         with xf.element('test'):
             self.assertXml("")
             xf.write('toast')
             self.assertXml("")
             with xf.element('taste'):
                 self.assertXml("")
                 xf.flush()
                 self.assertXml("<test>toast<taste>")
             self.assertXml("<test>toast<taste>")
         self.assertXml("<test>toast<taste>")
     self.assertXml("<test>toast<taste></taste></test>")
Beispiel #20
0
 def test_buffering(self):
     with etree.xmlfile(self._file, buffered=False) as xf:
         with xf.element('test'):
             self.assertXml("<test>")
             xf.write('toast')
             self.assertXml("<test>toast")
             with xf.element('taste'):
                 self.assertXml("<test>toast<taste>")
                 xf.write('some', etree.Element("more"), "toast")
                 self.assertXml("<test>toast<taste>some<more/>toast")
             self.assertXml("<test>toast<taste>some<more/>toast</taste>")
             xf.write('end')
             self.assertXml("<test>toast<taste>some<more/>toast</taste>end")
         self.assertXml("<test>toast<taste>some<more/>toast</taste>end</test>")
     self.assertXml("<test>toast<taste>some<more/>toast</taste>end</test>")
 def test_buffering(self):
     with etree.xmlfile(self._file, buffered=False) as xf:
         with xf.element('test'):
             self.assertXml("<test>")
             xf.write('toast')
             self.assertXml("<test>toast")
             with xf.element('taste'):
                 self.assertXml("<test>toast<taste>")
                 xf.write('some', etree.Element("more"), "toast")
                 self.assertXml("<test>toast<taste>some<more/>toast")
             self.assertXml("<test>toast<taste>some<more/>toast</taste>")
             xf.write('end')
             self.assertXml("<test>toast<taste>some<more/>toast</taste>end")
         self.assertXml(
             "<test>toast<taste>some<more/>toast</taste>end</test>")
     self.assertXml("<test>toast<taste>some<more/>toast</taste>end</test>")
Beispiel #22
0
 def test_closing_out_of_order_in_error_case(self):
     cm_exit = None
     try:
         with etree.xmlfile(self._file) as xf:
             x = xf.element('test')
             cm_exit = x.__exit__
             x.__enter__()
             raise ValueError('123')
     except ValueError:
         self.assertTrue(cm_exit)
         try:
             cm_exit(ValueError, ValueError("huhu"), None)
         except etree.LxmlSyntaxError:
             self.assertTrue(True)
         else:
             self.assertTrue(False)
     else:
         self.assertTrue(False)
Beispiel #23
0
 def test_closing_out_of_order_in_error_case(self):
     cm_exit = None
     try:
         with etree.xmlfile(self._file) as xf:
             x = xf.element('test')
             cm_exit = x.__exit__
             x.__enter__()
             raise ValueError('123')
     except ValueError:
         self.assertTrue(cm_exit)
         try:
             cm_exit(ValueError, ValueError("huhu"), None)
         except etree.LxmlSyntaxError:
             self.assertTrue(True)
         else:
             self.assertTrue(False)
     else:
         self.assertTrue(False)
 def test_element_write_text(self):
     with etree.xmlfile(self._file) as xf:
         with xf.element("test"):
             xf.write("toast")
     self.assertXml("<test>toast</test>")
Beispiel #25
0
 def test_encoding(self):
     with etree.xmlfile(self._file, encoding='utf16') as xf:
         with xf.element('test'):
             xf.write('toast')
     self.assertXml('<test>toast</test>', encoding='utf16')
Beispiel #26
0
 def test_filelike_not_closing(self):
     with etree.xmlfile(self._file) as xf:
         with xf.element('test'):
             pass
     self.assertFalse(self._file.closed)
Beispiel #27
0
 def test_pi(self):
     with etree.xmlfile(self._file) as xf:
         xf.write(etree.ProcessingInstruction('pypi'))
         with xf.element('test'):
             pass
     self.assertXml('<?pypi ?><test></test>')
Beispiel #28
0
 def test_encoding(self):
     with etree.xmlfile(self._file, encoding='utf16') as xf:
         with xf.element('test'):
             xf.write('toast')
     self.assertXml('<test>toast</test>', encoding='utf16')
Beispiel #29
0
 def test_attribute(self):
     with etree.xmlfile(self._file) as xf:
         with xf.element('test', attrib={'k': 'v'}):
             pass
     self.assertXml('<test k="v"></test>')
Beispiel #30
0
 def test_namespace_nested_anonymous(self):
     with etree.xmlfile(self._file) as xf:
         with xf.element('test'):
             with xf.element('{nsURI}toast'):
                 pass
     self.assertXml('<test><ns0:toast xmlns:ns0="nsURI"></ns0:toast></test>')
 def test_write_Element(self):
     with etree.xmlfile(self._file) as xf:
         xf.write(etree.Element("test"))
     self.assertXml("<test/>")
Beispiel #32
0
 def test_filelike_close(self):
     with etree.xmlfile(self._file, close=True) as xf:
         with xf.element('test'):
             pass
     self.assertTrue(self._file.closed)
     self._file = None  # prevent closing in tearDown()
Beispiel #33
0
 def test_element(self):
     with etree.xmlfile(self._file) as xf:
         with xf.element('test'):
             pass
     self.assertXml('<test></test>')
Beispiel #34
0
 def test_filelike_close(self):
     with etree.xmlfile(self._file, close=True) as xf:
         with xf.element('test'):
             pass
     self.assertRaises(ValueError, self._file.getvalue)
Beispiel #35
0
 def test_attribute_extra_duplicate(self):
     with etree.xmlfile(self._file) as xf:
         with xf.element('test', attrib={'k': 'v'}, k='V'):
             pass
     self.assertXml('<test k="V"></test>')
Beispiel #36
0
 def test_write_Element(self):
     with etree.xmlfile(self._file) as xf:
         xf.write(etree.Element('test'))
     self.assertXml('<test/>')
Beispiel #37
0
 def test_filelike_close(self):
     with etree.xmlfile(self._file, close=True) as xf:
         with xf.element('test'):
             pass
     self.assertRaises(ValueError, self._file.getvalue)
Beispiel #38
0
 def test_element(self):
     with etree.xmlfile(self._file) as xf:
         with xf.element('test'):
             pass
     self.assertXml('<test></test>')
Beispiel #39
0
 def test_element_write_text(self):
     with etree.xmlfile(self._file) as xf:
         with xf.element('test'):
             xf.write('toast')
     self.assertXml('<test>toast</test>')
 def test_namespace_nested_nsmap(self):
     with etree.xmlfile(self._file) as xf:
         with xf.element("test", nsmap={"x": "nsURI"}):
             with xf.element("{nsURI}toast"):
                 pass
     self.assertXml('<test xmlns:x="nsURI"><x:toast></x:toast></test>')
Beispiel #41
0
 def test_namespace_nested_nsmap(self):
     with etree.xmlfile(self._file) as xf:
         with xf.element('test', nsmap={'x': 'nsURI'}):
             with xf.element('{nsURI}toast'):
                 pass
     self.assertXml('<test xmlns:x="nsURI"><x:toast></x:toast></test>')
Beispiel #42
0
 def test_anonymous_namespace(self):
     with etree.xmlfile(self._file) as xf:
         with xf.element('{nsURI}test'):
             pass
     self.assertXml('<ns0:test xmlns:ns0="nsURI"></ns0:test>')
Beispiel #43
0
 def test_default_namespace(self):
     with etree.xmlfile(self._file) as xf:
         with xf.element('{nsURI}test', nsmap={None: 'nsURI'}):
             pass
     self.assertXml('<test xmlns="nsURI"></test>')
Beispiel #44
0
 def test_element_write_text(self):
     with etree.xmlfile(self._file) as xf:
         with xf.element('test'):
             xf.write('toast')
     self.assertXml('<test>toast</test>')
Beispiel #45
0
 def test_write_Element(self):
     with etree.xmlfile(self._file) as xf:
         xf.write(etree.Element('test'))
     self.assertXml('<test/>')
Beispiel #46
0
 def test_filelike_not_closing(self):
     with etree.xmlfile(self._file) as xf:
         with xf.element('test'):
             pass
     self.assertFalse(self._file.closed)
Beispiel #47
0
 def test_namespace_nested_nsmap(self):
     with etree.xmlfile(self._file) as xf:
         with xf.element('test', nsmap={'x': 'nsURI'}):
             with xf.element('{nsURI}toast'):
                 pass
     self.assertXml('<test xmlns:x="nsURI"><x:toast></x:toast></test>')
Beispiel #48
0
 def test_pi(self):
     with etree.xmlfile(self._file) as xf:
         xf.write(etree.ProcessingInstruction('pypi'))
         with xf.element('test'):
             pass
     self.assertXml('<?pypi ?><test></test>')
Beispiel #49
0
 def test_comment(self):
     with etree.xmlfile(self._file) as xf:
         xf.write(etree.Comment('a comment'))
         with xf.element('test'):
             pass
     self.assertXml('<!--a comment--><test></test>')
Beispiel #50
0
 def test_comment(self):
     with etree.xmlfile(self._file) as xf:
         xf.write(etree.Comment('a comment'))
         with xf.element('test'):
             pass
     self.assertXml('<!--a comment--><test></test>')
Beispiel #51
0
 def test_attribute_extra(self):
     with etree.xmlfile(self._file) as xf:
         with xf.element('test', attrib={'k': 'v'}, n='N'):
             pass
     self.assertXml('<test k="v" n="N"></test>')
Beispiel #52
0
 def test_anonymous_namespace(self):
     with etree.xmlfile(self._file) as xf:
         with xf.element('{nsURI}test'):
             pass
     self.assertXml('<ns0:test xmlns:ns0="nsURI"></ns0:test>')
Beispiel #53
0
 def test_attribute_extra_duplicate(self):
     with etree.xmlfile(self._file) as xf:
         with xf.element('test', attrib={'k': 'v'}, k='V'):
             pass
     self.assertXml('<test k="V"></test>')
Beispiel #54
0
 def test_default_namespace(self):
     with etree.xmlfile(self._file) as xf:
         with xf.element('{nsURI}test', nsmap={None: 'nsURI'}):
             pass
     self.assertXml('<test xmlns="nsURI"></test>')
Beispiel #55
0
 def test_filelike_close(self):
     with etree.xmlfile(self._file, close=True) as xf:
         with xf.element('test'):
             pass
     self.assertTrue(self._file.closed)
     self._file = None  # prevent closing in tearDown()