[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