[Checkins] SVN: five.grok/trunk/src/five/grok/test Some template
conflict tests.
Lennart Regebro
regebro at gmail.com
Thu Jul 17 09:04:36 EDT 2008
Log message for revision 88437:
Some template conflict tests.
Changed:
U five.grok/trunk/src/five/grok/testing.py
A five.grok/trunk/src/five/grok/tests/view/dirandinlinetemplate.py
A five.grok/trunk/src/five/grok/tests/view/dirandinlinetemplate_templates/
A five.grok/trunk/src/five/grok/tests/view/dirandinlinetemplate_templates/cavepainting.pt
A five.grok/trunk/src/five/grok/tests/view/dirtemplateandrender.py
A five.grok/trunk/src/five/grok/tests/view/dirtemplateandrender_templates/
A five.grok/trunk/src/five/grok/tests/view/dirtemplateandrender_templates/cavepainting.pt
A five.grok/trunk/src/five/grok/tests/view/dirtemplatesonly.py
A five.grok/trunk/src/five/grok/tests/view/dirtemplatesonly_templates/
A five.grok/trunk/src/five/grok/tests/view/dirtemplatesonly_templates/index.pt
A five.grok/trunk/src/five/grok/tests/view/dirtemplatesonly_templates/invalid.txt
-=-
Modified: five.grok/trunk/src/five/grok/testing.py
===================================================================
--- five.grok/trunk/src/five/grok/testing.py 2008-07-17 12:54:36 UTC (rev 88436)
+++ five.grok/trunk/src/five/grok/testing.py 2008-07-17 13:04:36 UTC (rev 88437)
@@ -13,6 +13,7 @@
##############################################################################
"""Grok test helpers
"""
+import sys
import grokcore.component
from zope.configuration.config import ConfigurationMachine
from martian import scan
@@ -45,3 +46,33 @@
config=config)
config.execute_actions()
return result
+
+def warn(message, category=None, stacklevel=1):
+ """Intended to replace warnings.warn in tests.
+
+ Modified copy from zope.deprecation.tests to:
+
+ * make the signature identical to warnings.warn
+ * to check for *.pyc and *.pyo files.
+
+ When zope.deprecation is fixed, this warn function can be removed again.
+ """
+ print "From five.grok.testing's warn():"
+
+ frame = sys._getframe(stacklevel)
+ path = frame.f_globals['__file__']
+ if path.endswith('.pyc') or path.endswith('.pyo'):
+ path = path[:-1]
+
+ file = open(path)
+ lineno = frame.f_lineno
+ for i in range(lineno):
+ line = file.readline()
+
+ print "%s:%s: %s: %s\n %s" % (
+ path,
+ frame.f_lineno,
+ category.__name__,
+ message,
+ line.strip(),
+ )
Added: five.grok/trunk/src/five/grok/tests/view/dirandinlinetemplate.py
===================================================================
--- five.grok/trunk/src/five/grok/tests/view/dirandinlinetemplate.py (rev 0)
+++ five.grok/trunk/src/five/grok/tests/view/dirandinlinetemplate.py 2008-07-17 13:04:36 UTC (rev 88437)
@@ -0,0 +1,20 @@
+"""
+If multiple templates can be found, one in the module and one in the
+template directory, there is an error:
+
+ >>> grok.testing.grok(__name__)
+ Traceback (most recent call last):
+ ...
+ ConfigurationExecutionError: martian.error.GrokError: Conflicting templates found for name 'cavepainting' in module
+ <module 'five.grok.tests.view.dirandinlinetemplate' from ...
+
+"""
+from five import grok
+
+class Mammoth(grok.Model):
+ pass
+
+class CavePainting(grok.View):
+ pass
+
+cavepainting = grok.PageTemplate("nothing")
Property changes on: five.grok/trunk/src/five/grok/tests/view/dirandinlinetemplate.py
___________________________________________________________________
Name: svn:keywords
+ Id
Added: five.grok/trunk/src/five/grok/tests/view/dirandinlinetemplate_templates/cavepainting.pt
===================================================================
--- five.grok/trunk/src/five/grok/tests/view/dirandinlinetemplate_templates/cavepainting.pt (rev 0)
+++ five.grok/trunk/src/five/grok/tests/view/dirandinlinetemplate_templates/cavepainting.pt 2008-07-17 13:04:36 UTC (rev 88437)
@@ -0,0 +1 @@
+nothing
Property changes on: five.grok/trunk/src/five/grok/tests/view/dirandinlinetemplate_templates/cavepainting.pt
___________________________________________________________________
Name: svn:eol-style
+ native
Added: five.grok/trunk/src/five/grok/tests/view/dirtemplateandrender.py
===================================================================
--- five.grok/trunk/src/five/grok/tests/view/dirtemplateandrender.py (rev 0)
+++ five.grok/trunk/src/five/grok/tests/view/dirtemplateandrender.py 2008-07-17 13:04:36 UTC (rev 88437)
@@ -0,0 +1,21 @@
+"""
+A View may either have an associated template or a render-method. Here
+we check that this also works for templates in a template-directory:
+
+ >>> grok.testing.grok(__name__)
+ Traceback (most recent call last):
+ ...
+ ConfigurationExecutionError: martian.error.GrokError: Multiple possible ways to render view
+ <class 'five.grok.tests.view.dirtemplateandrender.CavePainting'>.
+ It has both a 'render' method as well as an associated template.
+ in:
+
+"""
+from five import grok
+
+class Mammoth(grok.Model):
+ pass
+
+class CavePainting(grok.View):
+ def render(self):
+ pass
Property changes on: five.grok/trunk/src/five/grok/tests/view/dirtemplateandrender.py
___________________________________________________________________
Name: svn:keywords
+ Id
Added: five.grok/trunk/src/five/grok/tests/view/dirtemplateandrender_templates/cavepainting.pt
===================================================================
--- five.grok/trunk/src/five/grok/tests/view/dirtemplateandrender_templates/cavepainting.pt (rev 0)
+++ five.grok/trunk/src/five/grok/tests/view/dirtemplateandrender_templates/cavepainting.pt 2008-07-17 13:04:36 UTC (rev 88437)
@@ -0,0 +1,5 @@
+<html>
+<body>
+A cave painting.
+</body>
+</html>
Property changes on: five.grok/trunk/src/five/grok/tests/view/dirtemplateandrender_templates/cavepainting.pt
___________________________________________________________________
Name: svn:eol-style
+ native
Added: five.grok/trunk/src/five/grok/tests/view/dirtemplatesonly.py
===================================================================
--- five.grok/trunk/src/five/grok/tests/view/dirtemplatesonly.py (rev 0)
+++ five.grok/trunk/src/five/grok/tests/view/dirtemplatesonly.py 2008-07-17 13:04:36 UTC (rev 88437)
@@ -0,0 +1,23 @@
+"""
+A template directory may only contain recognized template files::
+
+ >>> from five.grok.testing import warn
+ >>> import warnings
+ >>> saved_warn = warnings.warn
+ >>> warnings.warn = warn
+
+ >>> grok.testing.grok(__name__)
+ From five.grok.testing's warn():
+ ... UserWarning: File 'invalid.txt' has an unrecognized extension in
+ directory '...dirtemplatesonly_templates'...
+
+ >>> warnings.warn = saved_warn
+
+"""
+from five import grok
+
+class Mammoth(grok.Model):
+ pass
+
+class Index(grok.View):
+ pass
Property changes on: five.grok/trunk/src/five/grok/tests/view/dirtemplatesonly.py
___________________________________________________________________
Name: svn:keywords
+ Id
Added: five.grok/trunk/src/five/grok/tests/view/dirtemplatesonly_templates/index.pt
===================================================================
--- five.grok/trunk/src/five/grok/tests/view/dirtemplatesonly_templates/index.pt (rev 0)
+++ five.grok/trunk/src/five/grok/tests/view/dirtemplatesonly_templates/index.pt 2008-07-17 13:04:36 UTC (rev 88437)
@@ -0,0 +1 @@
+nothing to see here
Property changes on: five.grok/trunk/src/five/grok/tests/view/dirtemplatesonly_templates/index.pt
___________________________________________________________________
Name: svn:eol-style
+ native
Added: five.grok/trunk/src/five/grok/tests/view/dirtemplatesonly_templates/invalid.txt
===================================================================
--- five.grok/trunk/src/five/grok/tests/view/dirtemplatesonly_templates/invalid.txt (rev 0)
+++ five.grok/trunk/src/five/grok/tests/view/dirtemplatesonly_templates/invalid.txt 2008-07-17 13:04:36 UTC (rev 88437)
@@ -0,0 +1 @@
+nothing to see here
Property changes on: five.grok/trunk/src/five/grok/tests/view/dirtemplatesonly_templates/invalid.txt
___________________________________________________________________
Name: svn:keywords
+ Id
More information about the Checkins
mailing list