diff options
Diffstat (limited to 'docutils/test/test_settings.py')
-rwxr-xr-x | docutils/test/test_settings.py | 167 |
1 files changed, 0 insertions, 167 deletions
diff --git a/docutils/test/test_settings.py b/docutils/test/test_settings.py deleted file mode 100755 index c18d613de..000000000 --- a/docutils/test/test_settings.py +++ /dev/null @@ -1,167 +0,0 @@ -#!/usr/bin/env python - -# Author: David Goodger -# Contact: goodger@python.org -# Revision: $Revision$ -# Date: $Date$ -# Copyright: This module has been placed in the public domain. - -""" -Tests of runtime settings. -""" - -import sys -import os -import docutils_difflib -import pprint -import warnings -import unittest -from types import StringType -import DocutilsTestSupport # must be imported before docutils -from docutils import frontend, utils -from docutils.writers import html4css1, pep_html -from docutils.parsers import rst - - -warnings.filterwarnings(action='ignore', - category=frontend.ConfigDeprecationWarning) - -def fixpath(path): - return os.path.abspath(os.path.join(*(path.split('/')))) - - -class ConfigFileTests(unittest.TestCase): - - config_files = {'old': fixpath('data/config_old.txt'), - 'one': fixpath('data/config_1.txt'), - 'two': fixpath('data/config_2.txt'), - 'list': fixpath('data/config_list.txt'), - 'list2': fixpath('data/config_list_2.txt'), - 'error': fixpath('data/config_error_handler.txt')} - - settings = { - 'old': {'datestamp': '%Y-%m-%d %H:%M UTC', - 'generator': 1, - 'no_random': 1, - 'python_home': 'http://www.python.org', - 'source_link': 1, - 'stylesheet': None, - 'stylesheet_path': fixpath('data/stylesheets/pep.css'), - 'template': fixpath('data/pep-html-template')}, - 'one': {'datestamp': '%Y-%m-%d %H:%M UTC', - 'generator': 1, - 'no_random': 1, - 'python_home': 'http://www.python.org', - 'record_dependencies': utils.DependencyList(), - 'source_link': 1, - 'stylesheet': None, - 'stylesheet_path': fixpath('data/stylesheets/pep.css'), - 'tab_width': 8, - 'template': fixpath('data/pep-html-template'), - 'trim_footnote_reference_space': 1}, - 'two': {'footnote_references': 'superscript', - 'generator': 0, - 'record_dependencies': utils.DependencyList(), - 'stylesheet': None, - 'stylesheet_path': fixpath('data/test.css'), - 'trim_footnote_reference_space': None}, - 'list': {'expose_internals': ['a', 'b', 'c', 'd', 'e']}, - 'list2': {'expose_internals': ['a', 'b', 'c', 'd', 'e', 'f']}, - 'error': {'error_encoding': 'ascii', - 'error_encoding_error_handler': 'strict'}, - } - - compare = docutils_difflib.Differ().compare - """Comparison method shared by all tests.""" - - def setUp(self): - self.option_parser = frontend.OptionParser( - components=(pep_html.Writer, rst.Parser), read_config_files=None) - - def files_settings(self, *names): - settings = frontend.Values() - for name in names: - settings.update(self.option_parser.get_config_file_settings( - self.config_files[name]), self.option_parser) - return settings.__dict__ - - def expected_settings(self, *names): - expected = {} - for name in names: - expected.update(self.settings[name]) - return expected - - def compare_output(self, result, expected): - """`result` and `expected` should both be dicts.""" - self.assert_(result.has_key('record_dependencies')) - if not expected.has_key('record_dependencies'): - # Delete it if we don't want to test it. - del result['record_dependencies'] - result = pprint.pformat(result) + '\n' - expected = pprint.pformat(expected) + '\n' - try: - self.assertEquals(result, expected) - except AssertionError: - print >>sys.stderr, '\n%s\n' % (self,) - print >>sys.stderr, '-: expected\n+: result' - print >>sys.stderr, ''.join(self.compare(expected.splitlines(1), - result.splitlines(1))) - raise - - def test_nofiles(self): - self.compare_output(self.files_settings(), - self.expected_settings()) - - def test_old(self): - self.compare_output(self.files_settings('old'), - self.expected_settings('old')) - - def test_one(self): - self.compare_output(self.files_settings('one'), - self.expected_settings('one')) - - def test_multiple(self): - self.compare_output(self.files_settings('one', 'two'), - self.expected_settings('one', 'two')) - - def test_old_and_new(self): - self.compare_output(self.files_settings('old', 'two'), - self.expected_settings('old', 'two')) - - def test_list(self): - self.compare_output(self.files_settings('list'), - self.expected_settings('list')) - - def test_list2(self): - self.compare_output(self.files_settings('list', 'list2'), - self.expected_settings('list2')) - - def test_error_handler(self): - self.compare_output(self.files_settings('error'), - self.expected_settings('error')) - - -class ConfigEnvVarFileTests(ConfigFileTests): - - """ - Repeats the tests of `ConfigFileTests` using the ``DOCUTILSCONFIG`` - environment variable and the standard Docutils config file mechanism. - """ - - def setUp(self): - ConfigFileTests.setUp(self) - self.orig_environ = os.environ - os.environ = os.environ.copy() - - def files_settings(self, *names): - files = [self.config_files[name] for name in names] - os.environ['DOCUTILSCONFIG'] = os.pathsep.join(files) - settings = self.option_parser.get_standard_config_settings() - return settings.__dict__ - - def tearDown(self): - os.environ = self.orig_environ - - -if __name__ == '__main__': - unittest.main() |