# Copyright (c) 2004 Divmod. # See LICENSE for details. from nevow.testutil import TestCase from nevow.flat.flatsax import parse, parseString from nevow.flat import flatten def norm(s): return ' '.join(s.split()) class Basic(TestCase): def test_parseString(self): xml = '''''' self.failUnlessEqual(norm(xml), norm(flatten(parseString(xml)))) def test_attrs(self): xml = '''

''' self.failUnlessEqual(norm(xml), norm(flatten(parseString(xml)))) def test_xmlns(self): xml = '''''' self.failUnlessEqual(norm(xml), norm(flatten(parseString(xml)))) def test_processingInstruction(self): xml = '''''' self.failUnlessEqual(norm(xml), norm(flatten(parseString(xml)))) def test_doctype(self): xml = '''\n''' self.failUnlessEqual(norm(xml), norm(flatten(parseString(xml)))) def test_entities(self): xml = """

&

""" self.failUnlessEqual(norm(xml), norm(flatten(parseString(xml)))) def test_cdata(self): xml = '''''' self.failUnlessEqual(norm(xml), norm(flatten(parseString(xml)))) def test_comment(self): xml = '''''' self.failUnlessEqual(norm(xml), norm(flatten(parseString(xml)))) def test_unicodeComment(self): xml = '''''' self.failUnlessEqual(norm(xml), norm(flatten(parseString(xml)))) def test_xmlAttr(self): xml = '''''' self.failUnlessEqual(norm(xml), norm(flatten(parseString(xml)))) def test_badNamespace(self): xml = '''xyz''' self.failUnlessEqual(norm(xml), norm(flatten(parseString(xml)))) test_badNamespace.skip = 'the standard 2.3 sax parser likes all namespaces to be defined so this test fails. it does pass with python-xml' def test_switchns(self): xml = '''

in default namespace

in foo namespace
''' self.failUnlessEqual(norm(xml), norm(flatten(parseString(xml)))) test_switchns.todo = 'fix me sometime'