[z3-checkins] r33927 - z3/deliverance/branches/packaged/deliverance
ltucker at codespeak.net
ltucker at codespeak.net
Mon Oct 30 21:45:43 CET 2006
Author: ltucker
Date: Mon Oct 30 21:45:39 2006
New Revision: 33927
Modified:
z3/deliverance/branches/packaged/deliverance/test_wsgi.py
z3/deliverance/branches/packaged/deliverance/tests.py
Log:
making tests test both renderers
Modified: z3/deliverance/branches/packaged/deliverance/test_wsgi.py
==============================================================================
--- z3/deliverance/branches/packaged/deliverance/test_wsgi.py (original)
+++ z3/deliverance/branches/packaged/deliverance/test_wsgi.py Mon Oct 30 21:45:39 2006
@@ -15,6 +15,7 @@
tasktracker_app = StaticURLParser(tasktracker_data)
nycsr_app = StaticURLParser(nycsr_data)
+
def html_string_compare(astr, bstr):
def reporter(x):
print x
@@ -39,44 +40,59 @@
"Comparison failed between actual:\n==================\n%s\n\nexpected:\n==================\n%s\n\nReport:\n%s"
% (astr, bstr, '\n'.join(reporter)))
-def test_basic():
- wsgi_app = DeliveranceMiddleware(static_app, 'theme.html', 'rules.xml')
+
+
+def do_basic(renderer_type):
+ wsgi_app = DeliveranceMiddleware(static_app, 'theme.html', 'rules.xml',
+ renderer_type)
app = TestApp(wsgi_app)
res = app.get('/example.html')
res2 = app.get('/example_expected.html?notheme')
html_string_compare(res.body, res2.body)
-def test_text():
- wsgi_app = DeliveranceMiddleware(static_app, 'theme.html', 'text-rules.xml')
+def do_text(renderer_type):
+ wsgi_app = DeliveranceMiddleware(static_app, 'theme.html', 'text-rules.xml',
+ renderer_type)
app = TestApp(wsgi_app)
res = app.get('/example.html')
res2 = app.get('/texttest_expected.html?notheme')
html_string_compare(res.body, res2.body)
-def test_tasktracker():
- wsgi_app = DeliveranceMiddleware(tasktracker_app, 'http://www.nycsr.org/nyc/video.php', 'tasktracker.xml')
+def do_tasktracker(renderer_type):
+ wsgi_app = DeliveranceMiddleware(tasktracker_app, 'http://www.nycsr.org/nyc/video.php',
+ 'tasktracker.xml',renderer_type)
app = TestApp(wsgi_app)
res = app.get('/content.html')
res2 = app.get('/expected.html?notheme')
html_string_compare(res.body, res2.body)
-def test_xinclude():
- wsgi_app = DeliveranceMiddleware(static_app, 'xinclude_theme.html', 'xinclude_rules.xml')
+def do_xinclude(renderer_type):
+ wsgi_app = DeliveranceMiddleware(static_app, 'xinclude_theme.html', 'xinclude_rules.xml',
+ renderer_type)
app = TestApp(wsgi_app)
res = app.get('/example.html')
res2 = app.get('/xinclude_expected.html?notheme')
html_string_compare(res.body, res2.body)
-def test_nycsr():
- wsgi_app = DeliveranceMiddleware(nycsr_app, 'http://www.nycsr.org','nycsr.xml')
+def do_nycsr(renderer_type):
+ wsgi_app = DeliveranceMiddleware(nycsr_app, 'http://www.nycsr.org','nycsr.xml',
+ renderer_type)
app = TestApp(wsgi_app)
res = app.get('/openplans.html')
res2 = app.get('/nycsr_expected.html?notheme')
html_string_compare(res.body, res2.body)
+RENDERER_TYPES = ['py','xslt']
+TEST_FUNCS = [ do_basic, do_text, do_tasktracker, do_xinclude, do_nycsr ]
+def test_all():
+ for renderer_type in RENDERER_TYPES:
+ for test_func in TEST_FUNCS:
+ yield lambda(name): test_func(renderer_type), ("[%s] : %s" % (renderer_type, test_func.func_name))
+
+
if __name__ == '__main__':
pass
Modified: z3/deliverance/branches/packaged/deliverance/tests.py
==============================================================================
--- z3/deliverance/branches/packaged/deliverance/tests.py (original)
+++ z3/deliverance/branches/packaged/deliverance/tests.py Mon Oct 30 21:45:39 2006
@@ -2,20 +2,23 @@
import os
from lxml import etree
from formencode.doctest_xml_compare import xml_compare
-from interpreter import Renderer
-#from xslt import Renderer
+from interpreter import Renderer as PyRenderer
+from xslt import Renderer as XSLTRenderer
import copy
import urllib
+RENDERER_CLASSES = [ PyRenderer, XSLTRenderer ]
+
class DeliveranceTestCase:
- def __init__(self, rules, rules_uri, theme, theme_uri, content, output):
+ def __init__(self, rules, rules_uri, theme, theme_uri, content, output, renderer_class):
self.rules = rules
self.rules_uri = rules_uri
self.theme = theme
self.theme_uri = theme_uri
self.content = content
self.output = output
+ self.renderer_class = renderer_class
def __call__(self, name):
def reference_resolver(href, parse, encoding=None):
@@ -27,7 +30,7 @@
elif encoding:
return content.decode(encoding)
- renderer = Renderer(
+ renderer = self.renderer_class(
theme=self.theme,
theme_uri=self.theme_uri,
rule=self.rules, rule_uri=self.rules_uri,
@@ -50,12 +53,13 @@
test_dir = os.path.join(os.path.dirname(__file__), 'test-data')
def test_examples():
- for fn in os.listdir(test_dir):
- fn = os.path.join(test_dir, fn)
- for case in cases(fn):
- yield case
+ for renderer_class in RENDERER_CLASSES:
+ for fn in os.listdir(test_dir):
+ fn = os.path.join(test_dir, fn)
+ for case in cases(fn,renderer_class):
+ yield case
-def cases(fn):
+def cases(fn, renderer_class):
if not os.path.basename(fn).startswith('test_'):
return
if fn.endswith('~'):
@@ -97,8 +101,9 @@
theme=themebody,
theme_uri=el.find('theme').attrib['base'],
content=contentbody,
- output=outputbody)
- yield case, ('%s:%s' % (fn, index))
+ output=outputbody,
+ renderer_class=renderer_class)
+ yield case, ('[%s] %s:%s' % (renderer_class, fn, index))
More information about the z3-checkins
mailing list