# Copyright (c) 2002-2005 Infrae. All rights reserved. # See also LICENSE.txt # $Id: test_upgrade.py,v 1.4 2005/01/19 14:28:51 faassen Exp $ import os, sys if __name__ == '__main__': execfile(os.path.join(sys.path[0], 'framework.py')) from xml.dom.minidom import parseString from Testing import ZopeTestCase import unittest from Products.SilvaDocument import upgrade class Rec: pass class UpgradeTest(unittest.TestCase): def setUp(self): self.obj = Rec() def _xml_string(self,content): # dom to string; also ger rid of the first line, containing the ' return '\n'.join(content.toxml().split('\n')[1:]) def test_xmlupgrade(self): dom = parseString('

foobazbladibla

') self.obj.content = dom u = upgrade.UpgradeDocumentXML() u.upgrade(self.obj) xml = self._xml_string(self.obj.content) self.assertEquals('

foobazbladibla

', xml) dom = parseString('

foobazbladiblabar

') self.obj.content = dom u = upgrade.UpgradeDocumentXML() u.upgrade(self.obj) xml = self._xml_string(self.obj.content) self.assertEquals('

foobazbladiblabar

', xml) dom = parseString('foo

bar

') self.obj.content = dom u = upgrade.UpgradeDocumentXML() u.upgrade(self.obj) xml = self._xml_string(self.obj.content) self.assertEquals('foo

bar

', xml) def test_xmlupgrade2(self): # XXX copy & paste tests ... could be done more elegant dom = parseString('

foo

bazbla

') self.obj.content = dom u = upgrade.UpgradeDocumentXML() u.upgrade(self.obj) xml = self._xml_string(self.obj.content) self.assertEquals('

foo

bazbla

', xml) def test_xmlupgrade_table(self): # XXX copy & paste tests ... could be done more elegant # anyway, this test better does not fail, or the error message is pretty unreadable dom = parseString('

a paragraph containing an index

also index here

and index here

and here

') self.obj.content = dom u = upgrade.UpgradeDocumentXML() u.upgrade(self.obj) xml = self._xml_string(self.obj.content) self.assertEquals('

a paragraph containing an index

also index here

and index here

and here

', xml) def test_suite(): suite = unittest.TestSuite() suite.addTest(unittest.makeSuite(UpgradeTest)) return suite def main(): unittest.TextTestRunner(verbosity=2).run(test_suite()) if __name__ == '__main__': framework() #else: # # While framework.py provides its own test_suite() # # method the testrunner utility does not. # main()