Blob Blame History Raw
Index: test/local-reader.py
===================================================================
--- /dev/null
+++ test/local-reader.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# $Id: local-writer.py 7500 2012-08-22 19:38:14Z grubert $
+# Authors: Engelbert Gruber <grubert@users.sourceforge.net>
+#          Toshio Kuratomi <toshio@fedoraproject.org>
+# Copyright: This module is put into the public domain.
+
+"""
+mini-reader to test get_reader_class with local reader
+"""
+
+import docutils
+from docutils import readers
+
+class Reader(readers.Reader):
+
+    supported = ('dummy',)
+    """Formats this reader supports."""
+
+    document = None
+    """A document tree."""
Index: test/test_readers/test_get_reader_class.py
===================================================================
--- /dev/null
+++ test/test_readers/test_get_reader_class.py
@@ -0,0 +1,32 @@
+#! /usr/bin/env python
+
+# $Id: test_get_writer_class.py 7500 2012-08-22 19:38:14Z grubert $
+# Author: grubert abadger1999
+# Maintainer: docutils-develop@lists.sourceforge.net
+# Copyright: This module has been placed in the public domain.
+
+"""
+test get_reader_class
+"""
+
+from __init__ import DocutilsTestSupport
+from docutils.readers import get_reader_class
+
+class GetReaderClassTestCase(DocutilsTestSupport.StandardTestCase):
+
+    def test_registered_reader(self):
+        rdr = get_reader_class('pep')
+        # raises ImportError on failure
+
+    def test_bogus_reader(self):
+        self.assertRaises(ImportError,
+                          get_reader_class, 'nope')
+
+    def test_local_reader(self):
+        # requires local-reader.py in test directory (testroot)
+        wr = get_reader_class('local-reader')
+
+if __name__ == '__main__':
+    import unittest
+    unittest.main()
+
Index: test/local-parser.py
===================================================================
--- /dev/null
+++ test/local-parser.py
@@ -0,0 +1,21 @@
+# -*- coding: utf-8 -*-
+# $Id: local-writer.py 7500 2012-08-22 19:38:14Z grubert $
+# Authors: Engelbert Gruber <grubert@users.sourceforge.net>
+#          Toshio Kuratomi <toshio@fedoraproject.org>
+# Copyright: This module is put into the public domain.
+
+"""
+mini-reader to test get_reader_class with local reader
+"""
+
+from docutils import parsers
+
+class Parser(parsers.Parser):
+
+    supported = ('dummy',)
+    """Formats this reader supports."""
+
+    def parser(self, inputstring, document):
+        self.setup_parse(inputstring, document)
+        document = dict()
+        self.finish_parse()
Index: test/test_parsers/test_get_parser_class.py
===================================================================
--- /dev/null
+++ test/test_parsers/test_get_parser_class.py
@@ -0,0 +1,32 @@
+#! /usr/bin/env python
+
+# $Id: test_get_writer_class.py 7500 2012-08-22 19:38:14Z grubert $
+# Author: grubert abadger1999
+# Maintainer: docutils-develop@lists.sourceforge.net
+# Copyright: This module has been placed in the public domain.
+
+"""
+test get_parser_class
+"""
+
+from __init__ import DocutilsTestSupport
+from docutils.parsers import get_parser_class
+
+class GetParserClassTestCase(DocutilsTestSupport.StandardTestCase):
+
+    def test_registered_parser(self):
+        rdr = get_parser_class('rst')
+        # raises ImportError on failure
+
+    def test_bogus_parser(self):
+        self.assertRaises(ImportError,
+                          get_parser_class, 'nope')
+
+    def test_local_parser(self):
+        # requires local-parser.py in test directory (testroot)
+        wr = get_parser_class('local-parser')
+
+if __name__ == '__main__':
+    import unittest
+    unittest.main()
+
Index: test/test_language.py
===================================================================
--- test/test_language.py.orig
+++ test/test_language.py
@@ -53,6 +53,11 @@ class LanguageTestSuite(DocutilsTestSupp
         # test language tag normalization:
         self.languages += ['en_gb', 'en_US', 'en-CA', 'de-DE', 'de-AT-1901',
                            'pt-BR', 'pt-foo-BR']
+        # test that locally created language files are also loaded.
+        # requires local_dummy_lang.py in test directory (testroot)
+        # The local_dummy_lang.py contains all the fields from both
+        # the docutils language tags and the parser.rst language tags
+        self.languages += ['local_dummy_lang']
 
     def generateTests(self):
         for language in self.languages:
Index: test/local_dummy_lang.py
===================================================================
--- /dev/null
+++ test/local_dummy_lang.py
@@ -0,0 +1,154 @@
+# $Id: en.py 4564 2006-05-21 20:44:42Z wiemann $
+# Author: David Goodger <goodger@python.org>
+# Copyright: This module has been placed in the public domain.
+
+# New language mappings are welcome.  Before doing a new translation, please
+# read <http://docutils.sf.net/docs/howto/i18n.html>.  Two files must be
+# translated for each language: one in docutils/languages, the other in
+# docutils/parsers/rst/languages.
+
+"""
+English-language mappings for language-dependent features of Docutils.
+"""
+
+__docformat__ = 'reStructuredText'
+
+labels = {
+      # fixed: language-dependent
+      'author': 'dummy Author',
+      'authors': 'dummy Authors',
+      'organization': 'dummy Organization',
+      'address': 'dummy Address',
+      'contact': 'dummy Contact',
+      'version': 'dummy Version',
+      'revision': 'dummy Revision',
+      'status': 'dummy Status',
+      'date': 'dummy Date',
+      'copyright': 'dummy Copyright',
+      'dedication': 'dummy Dedication',
+      'abstract': 'dummy Abstract',
+      'attention': 'dummy Attention!',
+      'caution': 'dummy Caution!',
+      'danger': 'dummy !DANGER!',
+      'error': 'dummy Error',
+      'hint': 'dummy Hint',
+      'important': 'dummy Important',
+      'note': 'dummy Note',
+      'tip': 'dummy Tip',
+      'warning': 'dummy Warning',
+      'contents': 'dummy Contents'}
+"""Mapping of node class name to label text."""
+
+bibliographic_fields = {
+      # language-dependent: fixed
+      'dummy author': 'author',
+      'dummy authors': 'authors',
+      'dummy organization': 'organization',
+      'dummy address': 'address',
+      'dummy contact': 'contact',
+      'dummy version': 'version',
+      'dummy revision': 'revision',
+      'dummy status': 'status',
+      'dummy date': 'date',
+      'dummy copyright': 'copyright',
+      'dummy dedication': 'dedication',
+      'dummy abstract': 'abstract'}
+"""English (lowcased) to canonical name mapping for bibliographic fields."""
+
+author_separators = [';', ',']
+"""List of separator strings for the 'Authors' bibliographic field. Tried in
+order."""
+
+directives = {
+      # language-dependent: fixed
+      'dummy attention': 'attention',
+      'dummy caution': 'caution',
+      'dummy code': 'code',
+      'dummy code-block': 'code',
+      'dummy sourcecode': 'code',
+      'dummy danger': 'danger',
+      'dummy error': 'error',
+      'dummy hint': 'hint',
+      'dummy important': 'important',
+      'dummy note': 'note',
+      'dummy tip': 'tip',
+      'dummy warning': 'warning',
+      'dummy admonition': 'admonition',
+      'dummy sidebar': 'sidebar',
+      'dummy topic': 'topic',
+      'dummy line-block': 'line-block',
+      'dummy parsed-literal': 'parsed-literal',
+      'dummy rubric': 'rubric',
+      'dummy epigraph': 'epigraph',
+      'dummy highlights': 'highlights',
+      'dummy pull-quote': 'pull-quote',
+      'dummy compound': 'compound',
+      'dummy container': 'container',
+      #'dummy questions': 'questions',
+      'dummy table': 'table',
+      'dummy csv-table': 'csv-table',
+      'dummy list-table': 'list-table',
+      #'dummy qa': 'questions',
+      #'dummy faq': 'questions',
+      'dummy meta': 'meta',
+      'dummy math': 'math',
+      #'dummy imagemap': 'imagemap',
+      'dummy image': 'image',
+      'dummy figure': 'figure',
+      'dummy include': 'include',
+      'dummy raw': 'raw',
+      'dummy replace': 'replace',
+      'dummy unicode': 'unicode',
+      'dummy date': 'date',
+      'dummy class': 'class',
+      'dummy role': 'role',
+      'dummy default-role': 'default-role',
+      'dummy title': 'title',
+      'dummy contents': 'contents',
+      'dummy sectnum': 'sectnum',
+      'dummy section-numbering': 'sectnum',
+      'dummy header': 'header',
+      'dummy footer': 'footer',
+      #'dummy footnotes': 'footnotes',
+      #'dummy citations': 'citations',
+      'dummy target-notes': 'target-notes',
+      'dummy restructuredtext-test-directive': 'restructuredtext-test-directive'}
+"""English name to registered (in directives/__init__.py) directive name
+mapping."""
+
+roles = {
+    # language-dependent: fixed
+    'dummy abbreviation': 'abbreviation',
+    'dummy ab': 'abbreviation',
+    'dummy acronym': 'acronym',
+    'dummy ac': 'acronym',
+    'dummy code': 'code',
+    'dummy index': 'index',
+    'dummy i': 'index',
+    'dummy subscript': 'subscript',
+    'dummy sub': 'subscript',
+    'dummy superscript': 'superscript',
+    'dummy sup': 'superscript',
+    'dummy title-reference': 'title-reference',
+    'dummy title': 'title-reference',
+    'dummy t': 'title-reference',
+    'dummy pep-reference': 'pep-reference',
+    'dummy pep': 'pep-reference',
+    'dummy rfc-reference': 'rfc-reference',
+    'dummy rfc': 'rfc-reference',
+    'dummy emphasis': 'emphasis',
+    'dummy strong': 'strong',
+    'dummy literal': 'literal',
+    'dummy math': 'math',
+    'dummy named-reference': 'named-reference',
+    'dummy anonymous-reference': 'anonymous-reference',
+    'dummy footnote-reference': 'footnote-reference',
+    'dummy citation-reference': 'citation-reference',
+    'dummy substitution-reference': 'substitution-reference',
+    'dummy target': 'target',
+    'dummy uri-reference': 'uri-reference',
+    'dummy uri': 'uri-reference',
+    'dummy url': 'uri-reference',
+    'dummy raw': 'raw',}
+"""Mapping of English role names to canonical role names for interpreted text.
+"""