[Checkins] SVN: Sandbox/J1m/customdoctests/src/zc/customdoctests/ Generalized api some more. Now pass in a source transformation function.
Jim Fulton
jim at zope.com
Wed Jan 26 11:42:43 EST 2011
Log message for revision 119950:
Generalized api some more. Now pass in a source transformation function.
Changed:
U Sandbox/J1m/customdoctests/src/zc/customdoctests/__init__.py
U Sandbox/J1m/customdoctests/src/zc/customdoctests/js.py
-=-
Modified: Sandbox/J1m/customdoctests/src/zc/customdoctests/__init__.py
===================================================================
--- Sandbox/J1m/customdoctests/src/zc/customdoctests/__init__.py 2011-01-26 15:45:24 UTC (rev 119949)
+++ Sandbox/J1m/customdoctests/src/zc/customdoctests/__init__.py 2011-01-26 16:42:43 UTC (rev 119950)
@@ -22,7 +22,7 @@
def __init__(self, *args, **kw):
ps1 = kw.pop('ps1', '>>>')
ps2 = kw.pop('ps2', r'\.\.\.')
- self.handler_name = kw.pop('handler_name', '')
+ self.transform = kw.pop('transform', lambda s: s)
getattr(doctest.DocTestParser, '__init__', lambda : None)(*args, **kw)
self._EXAMPLE_RE = re.compile(
@@ -43,5 +43,5 @@
r =doctest.DocTestParser.parse(self, string, name)
for s in r:
if isinstance(s, doctest.Example):
- s.source = "%s(%r)\n" % (self.handler_name, s.source)
+ s.source = self.transform(s.source)
return r
Modified: Sandbox/J1m/customdoctests/src/zc/customdoctests/js.py
===================================================================
--- Sandbox/J1m/customdoctests/src/zc/customdoctests/js.py 2011-01-26 15:45:24 UTC (rev 119949)
+++ Sandbox/J1m/customdoctests/src/zc/customdoctests/js.py 2011-01-26 16:42:43 UTC (rev 119950)
@@ -20,8 +20,14 @@
run_time = None
-parser = zc.customdoctests.DocTestParser(ps1='js>', handler_name='JS')
+parser = zc.customdoctests.DocTestParser(
+ ps1='js>', transform=lambda s: 'JS(r"""%s""")' % s)
+# parser_ is like parser, except adds: var _ = to
+# the fron of the executed code.
+eq_parser = zc.customdoctests.DocTestParser(
+ ps1='js!', transform=lambda s: 'JS("var _ = "+ r"""%s""")' % s)
+
def setUp(test_or_self):
globs = getattr(test_or_self, 'globs', test_or_self.__dict__)
More information about the checkins
mailing list