#!/usr/bin/env python # Author: Felix Wiemann # Contact: Felix_Wiemann@ososo.de # Revision: $Revision$ # Date: $Date$ # Copyright: This module has been placed in the public domain. """ Test for docutils XML writer. """ from __init__ import DocutilsTestSupport import docutils import docutils.core class DocutilsXMLTestCase(DocutilsTestSupport.StandardTestCase): input = """\ Test ---------- Test. \xc3\xa4\xc3\xb6\xc3\xbc\xe2\x82\xac""" xmldecl = '\n' doctypedecl = '\n' generatedby = '\n' % docutils.__version__ bodynormal = 'TestTest. \xe4\xf6\xfc€' bodynewlines = """\ Test Test. \xe4\xf6\xfc€ """ bodyindents = """\ Test Test. \xe4\xf6\xfc€ """ def test_publish(self): settings = {'input_encoding': 'utf8', 'output_encoding': 'iso-8859-1', '_disable_config': 1} for settings['newlines'] in 0, 1: for settings['indents'] in 0, 1: for settings['xml_declaration'] in 0, 1: for settings['doctype_declaration'] in 0, 1: expected = '' if settings['xml_declaration']: expected += self.xmldecl if settings['doctype_declaration']: expected += self.doctypedecl expected += self.generatedby if settings['indents']: expected += self.bodyindents elif settings['newlines']: expected += self.bodynewlines else: expected += self.bodynormal self.assertEqual(docutils.core.publish_string (source=self.input, reader_name='standalone', writer_name='docutils_xml', settings_overrides=settings), expected) if __name__ == '__main__': import unittest unittest.main()