def test_qname_using_lxml(self): ns = namespace('urn:n', 'ns0') self.assertEqual(etree.tostring(to_etree(('a', ns.tag), impl=etree)), '<a xmlns:ns0="urn:n">ns0:tag</a>')
def assertEtreeStrEquals(self, struct, value): self.assertEqual(ElementTree.tostring(to_etree(struct)), value)
def test_qname_using_ElementTree(self): ns = namespace('urn:n', 'ns0') with self.assertRaisesRegexp(ValueError, 'does not support'): ElementTree.tostring(to_etree(('a', ns.tag)))
def test_to_etree_tag_with_ns(self): ns = namespace('ns', 'ns') self.assertEqualEtree(to_etree((ns.a,)), ElementTree.fromstring('<ns:a xmlns:ns="ns"/>'))
def test_custom_impl_object(self): from xml.etree import cElementTree self.assertEqualEtree(to_etree(('a',), impl=cElementTree), cElementTree.fromstring('<a/>'))
def test_to_etree_tag_with_mixed_text_and_tags(self): self.assertEqualEtree(to_etree(('a', 'text', ('b',), 'tail')), ElementTree.fromstring('<a>text<b/>tail</a>'))
def test_to_etree_tag_with_text(self): self.assertEqualEtree(to_etree(('a', 'text')), ElementTree.fromstring('<a>text</a>'))
def test_to_etree_tag_with_attrs(self): self.assertEqualEtree(to_etree(('a', {'attr': 'value'})), ElementTree.fromstring('<a attr="value"/>'))
def test_to_etree_empty_tag_and_one_nested(self): self.assertEqualEtree(to_etree(('a', ('b',))), ElementTree.fromstring('<a><b/></a>'))
def test_to_etree_empty_tag(self): self.assertEqualEtree(to_etree(('a',)), ElementTree.fromstring('<a/>'))