[Checkins] SVN: manuel/branches/jim-custom-doctest-parsers/src/manuel/doctest.py Added plumbing to pass an alternate doctest parser.
Jim Fulton
jim at zope.com
Mon Jan 10 18:24:06 EST 2011
Log message for revision 119482:
Added plumbing to pass an alternate doctest parser.
Still need tests.
Changed:
U manuel/branches/jim-custom-doctest-parsers/src/manuel/doctest.py
-=-
Modified: manuel/branches/jim-custom-doctest-parsers/src/manuel/doctest.py
===================================================================
--- manuel/branches/jim-custom-doctest-parsers/src/manuel/doctest.py 2011-01-10 22:24:22 UTC (rev 119481)
+++ manuel/branches/jim-custom-doctest-parsers/src/manuel/doctest.py 2011-01-10 23:24:05 UTC (rev 119482)
@@ -9,13 +9,13 @@
pass
-def parse(document):
+def parse(document, parser):
for region in list(document):
if region.parsed:
continue
region_start = region.lineno
region_end = region.lineno + region.source.count('\n')
- for chunk in doctest.DocTestParser().parse(region.source):
+ for chunk in parser.parse(region.source):
# If the chunk contains prose (as opposed to and example), skip it.
if isinstance(chunk, basestring):
continue
@@ -92,11 +92,15 @@
class Manuel(manuel.Manuel):
- def __init__(self, optionflags=0, checker=None):
+ def __init__(self, optionflags=0, checker=None, parser=None):
self.runner = doctest.DocTestRunner(optionflags=optionflags,
checker=checker)
self.debug_runner = doctest.DebugRunner(optionflags=optionflags)
def evaluate_closure(region, document, globs):
# capture "self"
evaluate(self, region, document, globs)
- manuel.Manuel.__init__(self, [parse], [evaluate_closure], [format])
+ parser = parser or doctest.DocTestParser()
+ manuel.Manuel.__init__(
+ self,
+ [lambda document: parse(document, parser)],
+ [evaluate_closure], [format])
More information about the checkins
mailing list