summaryrefslogtreecommitdiff
path: root/docutils/test/test_publisher.py
diff options
context:
space:
mode:
Diffstat (limited to 'docutils/test/test_publisher.py')
-rwxr-xr-xdocutils/test/test_publisher.py143
1 files changed, 0 insertions, 143 deletions
diff --git a/docutils/test/test_publisher.py b/docutils/test/test_publisher.py
deleted file mode 100755
index 708c3ef87..000000000
--- a/docutils/test/test_publisher.py
+++ /dev/null
@@ -1,143 +0,0 @@
-#!/usr/bin/env python
-
-# Author: Martin Blais
-# Contact: blais@furius.ca
-# Revision: $Revision$
-# Date: $Date$
-# Copyright: This module has been placed in the public domain.
-
-"""
-Test the `Publisher` facade and the ``publish_*`` convenience functions.
-"""
-
-import pickle
-from types import StringType, DictType
-import DocutilsTestSupport # must be imported before docutils
-import docutils
-from docutils import core, nodes, io
-
-
-test_document = """\
-Test Document
-=============
-
-This is a test document with a broken reference: nonexistent_
-"""
-pseudoxml_output = """\
-<document ids="test-document" names="test\ document" source="<string>" title="Test Document">
- <title>
- Test Document
- <paragraph>
- This is a test document with a broken reference: \n\
- <problematic ids="id2" refid="id1">
- nonexistent_
- <section classes="system-messages">
- <title>
- Docutils System Messages
- <system_message backrefs="id2" ids="id1" level="3" line="4" source="<string>" type="ERROR">
- <paragraph>
- Unknown target name: "nonexistent".
-"""
-exposed_pseudoxml_output = """\
-<document ids="test-document" internal:refnames="{u\'nonexistent\': [<reference: <#text: u\'nonexistent\'>>]}" names="test\ document" source="<string>" title="Test Document">
- <title>
- Test Document
- <paragraph>
- This is a test document with a broken reference: \n\
- <problematic ids="id2" refid="id1">
- nonexistent_
- <section classes="system-messages">
- <title>
- Docutils System Messages
- <system_message backrefs="id2" ids="id1" level="3" line="4" source="<string>" type="ERROR">
- <paragraph>
- Unknown target name: "nonexistent".
-"""
-
-
-class PublishDoctreeTestCase(DocutilsTestSupport.StandardTestCase, docutils.SettingsSpec):
-
- settings_default_overrides = {
- '_disable_config': 1,
- 'warning_stream': io.NullOutput()}
-
- def test_publish_doctree(self):
- # Test `publish_doctree` and `publish_from_doctree`.
-
- # Produce the document tree.
- doctree = core.publish_doctree(
- source=test_document, reader_name='standalone',
- parser_name='restructuredtext', settings_spec=self,
- settings_overrides={'expose_internals':
- ['refnames', 'do_not_expose'],
- 'report_level': 5})
- self.assert_(isinstance(doctree, nodes.document))
-
- # Confirm that transforms have been applied (in this case, the
- # DocTitle transform):
- self.assert_(isinstance(doctree[0], nodes.title))
- self.assert_(isinstance(doctree[1], nodes.paragraph))
- # Confirm that the Messages transform has not yet been applied:
- self.assertEquals(len(doctree), 2)
-
- # The `do_not_expose` attribute may not show up in the
- # pseudoxml output because the expose_internals transform may
- # not be applied twice.
- doctree.do_not_expose = 'test'
- # Write out the document:
- output = core.publish_from_doctree(
- doctree, writer_name='pseudoxml',
- settings_spec=self,
- settings_overrides={'expose_internals':
- ['refnames', 'do_not_expose'],
- 'report_level': 1})
- self.assertEquals(output, exposed_pseudoxml_output)
-
- # Test publishing parts using document as the source.
- parts = core.publish_parts(
- reader_name='doctree', source_class=io.DocTreeInput,
- source=doctree, source_path='test', writer_name='html',
- settings_spec=self)
- self.assert_(isinstance(parts, DictType))
-
- def test_publish_pickle(self):
- # Test publishing a document tree with pickling and unpickling.
-
- # Produce the document tree.
- doctree = core.publish_doctree(
- source=test_document,
- reader_name='standalone',
- parser_name='restructuredtext',
- settings_spec=self)
- self.assert_(isinstance(doctree, nodes.document))
-
- # Pickle the document. Note: if this fails, some unpickleable
- # reference has been added somewhere within the document tree.
- # If so, you need to fix that.
- #
- # Note: Please do not remove this test, this is an important
- # requirement, applications will be built on the assumption
- # that we can pickle the document.
-
- # Remove the reporter and the transformer before pickling.
- doctree.reporter = None
- doctree.transformer = None
-
- doctree_pickled = pickle.dumps(doctree)
- self.assert_(isinstance(doctree_pickled, StringType))
- del doctree
-
- # Unpickle the document.
- doctree_zombie = pickle.loads(doctree_pickled)
- self.assert_(isinstance(doctree_zombie, nodes.document))
-
- # Write out the document:
- output = core.publish_from_doctree(
- doctree_zombie, writer_name='pseudoxml',
- settings_spec=self)
- self.assertEquals(output, pseudoxml_output)
-
-
-if __name__ == '__main__':
- import unittest
- unittest.main()