summaryrefslogtreecommitdiff
path: root/test/test_dependencies.py
diff options
context:
space:
mode:
authorwiemann <wiemann@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2005-08-17 13:59:12 +0000
committerwiemann <wiemann@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2005-08-17 13:59:12 +0000
commita4bc0d09f3d1f633a5780976d1f913e083c9564a (patch)
tree1777475e88463b08438f0719be97cc087554eadd /test/test_dependencies.py
parent60c69f8cf97125135948a3d35b7698ee80921137 (diff)
parent2818db9a234cc37008c5f2bb0e821f9b1fa92de2 (diff)
downloaddocutils-0.3.9.tar.gz
re-added docutils-0.3.9 tag one level deeper (without web/ and sandboxes/)docutils-0.3.9
git-svn-id: http://svn.code.sf.net/p/docutils/code/tags/docutils-0.3.9@3815 929543f6-e4f2-0310-98a6-ba3bd3dd1d04
Diffstat (limited to 'test/test_dependencies.py')
-rwxr-xr-xtest/test_dependencies.py78
1 files changed, 78 insertions, 0 deletions
diff --git a/test/test_dependencies.py b/test/test_dependencies.py
new file mode 100755
index 000000000..61d19a6f2
--- /dev/null
+++ b/test/test_dependencies.py
@@ -0,0 +1,78 @@
+#! /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 module for the --record-dependencies option.
+"""
+
+import os.path
+import unittest
+import sys
+import docutils.core
+import docutils.utils
+import DocutilsTestSupport
+
+
+class RecordDependenciesTests(unittest.TestCase):
+
+ def setUp(self):
+ os.chdir(os.path.join(DocutilsTestSupport.testroot, 'data'))
+
+ def get_record(self, inputfile=None, **settings):
+
+ recordfile = 'record.txt'
+ settings.setdefault('source_path', 'dependencies.txt')
+ settings.setdefault('settings_overrides', {})
+ settings['settings_overrides'] = settings['settings_overrides'].copy()
+ settings['settings_overrides']['_disable_config'] = 1
+ if not settings['settings_overrides'].has_key('record_dependencies'):
+ settings['settings_overrides']['record_dependencies'] = \
+ docutils.utils.DependencyList(recordfile)
+ docutils.core.publish_file(destination=DocutilsTestSupport.DevNull(),
+ **settings)
+ settings['settings_overrides']['record_dependencies'].close()
+ return open(recordfile).read().splitlines()
+
+ def test_dependencies(self):
+ self.assertEqual(self.get_record(),
+ ['include.txt',
+ 'raw.txt'])
+ self.assertEqual(self.get_record(writer_name='latex'),
+ ['include.txt',
+ 'raw.txt',
+ 'some_image.png'])
+
+ def test_csv_dependencies(self):
+ try:
+ import csv
+ self.assertEqual(self.get_record(source_path='csv_dep.txt'),
+ ['csv_data.txt'])
+ except ImportError:
+ pass
+
+ def test_stylesheet_dependencies(self):
+
+ # Parameters to publish_file.
+ s = {'settings_overrides': {}}
+ so = s['settings_overrides']
+ so['stylesheet_path'] = 'stylesheet.txt'
+ so['stylesheet'] = None
+ s['writer_name'] = 'html'
+ self.assert_('stylesheet.txt' not in
+ self.get_record(**s))
+ so['embed_stylesheet'] = 1
+ self.assert_('stylesheet.txt' in
+ self.get_record(**s))
+ del so['embed_stylesheet']
+ s['writer_name'] = 'latex'
+ self.assert_('stylesheet.txt' in
+ self.get_record(**s))
+
+
+if __name__ == '__main__':
+ unittest.main()