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 +# Toshio Kuratomi +# 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 +# Toshio Kuratomi +# 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 +# Copyright: This module has been placed in the public domain. + +# New language mappings are welcome. Before doing a new translation, please +# read . 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. +"""