Merge branch 'master' into def-lists
[rst2info.git] / texinfo / rst_test_utils.py
blob9dea2db8b4ecbcc46e89ec7259b1f9617c0e0c18
1 import unittest
2 from docutils import utils, frontend, core, readers
3 from docutils.parsers import rst
4 from info_translator import InfoTranslator
5 import sys
7 def basic_test_document(text='', settings_overrides={}):
8 reader_name = 'standalone'
9 parser_name = 'restructuredtext'
11 reader_class = readers.get_reader_class(reader_name)
12 reader = reader_class(parser_name=parser_name)
13 parser = reader.parser
15 # we test some things that generate warnings, but don't want those warnings to pollute the test output
16 settings_overrides['warning_stream'] = sys.stdout
17 options = frontend.OptionParser(components=(parser,reader), defaults=settings_overrides)
18 settings = options.get_default_values()
19 document = utils.new_document('rst_test_utils', settings)
21 parser.parse(text, document)
23 #print 'parser.parse(), document=\n%s' % document.asdom().childNodes[0].toprettyxml(' ','\n')
24 return document
26 class TestCase(unittest.TestCase):
27 def given_input(self, input, settings_overrides=[]):
28 self.document = basic_test_document(input, settings_overrides)