# Copyright (c) 2004 Divmod. # See LICENSE for details. from nevow.testutil import TestCase from nevow.flat.flatsax import parseString from nevow.flat import flatten def norm(s): return ' '.join(s.split()) class Basic(TestCase): def test_parseString(self): xml = '''''' self.failUnlessEqual(xml, flatten(parseString(xml))) def test_attrs(self): xml = '''
''' self.failUnlessEqual(xml, flatten(parseString(xml))) def test_xmlns(self): xml = '''''' self.failUnlessEqual(xml, flatten(parseString(xml))) def test_processingInstruction(self): xml = '''''' self.failUnlessEqual(xml, flatten(parseString(xml))) def test_doctype(self): xml = '''\n''' self.failUnlessEqual(norm(xml), norm(flatten(parseString(xml)))) def test_entities(self): xml = """&
""" self.failUnlessEqual(xml, flatten(parseString(xml))) def test_cdata(self): xml = '''''' self.failUnlessEqual(xml, flatten(parseString(xml))) def test_comment(self): xml = '''''' self.failUnlessEqual(xml, flatten(parseString(xml))) def test_commentWhereSpacingMatters(self): """Explicitly test that spacing in comments is maintained.""" xml = """ """ self.failUnlessEqual(xml, flatten(parseString(xml))) def test_unicodeComment(self): xml = '''''' self.failUnlessEqual(xml, flatten(parseString(xml))) def test_xmlAttr(self): xml = '''''' self.failUnlessEqual(xml, flatten(parseString(xml))) def test_badNamespace(self): xml = '''in default namespace
in default namespace
123
', flatten(parseString(xml)))