[Checkins] SVN: grokcore.view/trunk/src/grokcore/view/ Add more tests on static directory.

Sylvain Viollow cvs-admin at zope.org
Sun Apr 29 10:49:57 UTC 2012


Log message for revision 125371:
  Add more tests on static directory.
  

Changed:
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/__init__.py
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_nooverridestatic/
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_nooverridestatic/__init__.py
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_nooverridestatic/original/
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_nooverridestatic/original/__init__.py
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_nooverridestatic/original/original.py
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_nooverridestatic/original/static/
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_nooverridestatic/original/static/resource.css
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_nooverridestatic/override/
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_nooverridestatic/override/__init__.py
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_nooverridestatic/override/override.py
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_nooverridestatic.txt
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic/
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic/__init__.py
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic/original/
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic/original/__init__.py
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic/original/original.py
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic/original/static/
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic/original/static/resource.css
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic/override/
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic/override/__init__.py
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic/override/override.py
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic/override/static/
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic/override/static/resource.css
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic.txt
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/__init__.py
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/original/
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/original/__init__.py
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/original/original.py
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/original/original_templates/
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/original/original_templates/caveview.pt
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/original/static/
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/original/static/resource.css
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/override/
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/override/__init__.py
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/override/override.py
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/override/override_templates/
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/override/override_templates/palaceview.pt
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/override/static/
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/override/static/resource.css
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic.txt
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/simple.py
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/simple_fixture/
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic/
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic/__init__.py
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic/original/
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic/original/__init__.py
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic/original/original.py
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic/original/original_templates/
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic/original/original_templates/caveview.pt
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic/original/static/
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic/original/static/resource.css
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic/override/
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic/override/__init__.py
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic/override/override.py
  A   grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic.txt
  D   grokcore.view/trunk/src/grokcore/view/ftests/staticdir/
  U   grokcore.view/trunk/src/grokcore/view/ftests/test_functional.py
  U   grokcore.view/trunk/src/grokcore/view/tests/directoryresource/directoryresources.py
  U   grokcore.view/trunk/src/grokcore/view/tests/test_all.py

-=-
Added: grokcore.view/trunk/src/grokcore/view/ftests/static/__init__.py
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/__init__.py	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/__init__.py	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1 @@
+# this is a package

Added: grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_nooverridestatic/__init__.py
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_nooverridestatic/__init__.py	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_nooverridestatic/__init__.py	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1 @@
+# this is a package

Added: grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_nooverridestatic/original/__init__.py
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_nooverridestatic/original/__init__.py	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_nooverridestatic/original/__init__.py	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1 @@
+# this is a package

Added: grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_nooverridestatic/original/original.py
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_nooverridestatic/original/original.py	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_nooverridestatic/original/original.py	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1,18 @@
+
+
+from grokcore import view as grok
+
+
+class Cave(grok.Context):
+    pass
+
+class StaticResource(grok.DirectoryResource):
+    grok.name('grokcore.view.ftests.static.notemplates_nooverridestatic.original')
+    grok.path('static')
+
+
+class CaveView(grok.View):
+    grok.context(Cave)
+
+    def render(self):
+        return self.static['resource.css']()

Added: grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_nooverridestatic/original/static/resource.css
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_nooverridestatic/original/static/resource.css	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_nooverridestatic/original/static/resource.css	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1,4 @@
+
+body {
+  color: red;
+}

Added: grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_nooverridestatic/override/__init__.py
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_nooverridestatic/override/__init__.py	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_nooverridestatic/override/__init__.py	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1 @@
+# this is a package.

Added: grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_nooverridestatic/override/override.py
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_nooverridestatic/override/override.py	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_nooverridestatic/override/override.py	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1,7 @@
+
+
+from grokcore.view.ftests.static.notemplates_nooverridestatic.original.original import CaveView
+
+
+class PalaceView(CaveView):
+    pass

Added: grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_nooverridestatic.txt
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_nooverridestatic.txt	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_nooverridestatic.txt	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1,23 @@
+
+Testing the plugging in of a template language
+
+  >>> from grokcore.view.ftests.static.notemplates_nooverridestatic.original.original import Cave
+  >>> from zope.publisher.browser import TestRequest
+  >>> from zope import component
+
+  >>> cave = Cave()
+  >>> request = TestRequest()
+
+The template on the base view should return the url of the resource:
+
+  >>> view = component.getMultiAdapter((cave, request), name='caveview')
+  >>> print view()
+  http://127.0.0.1/@@/grokcore.view.ftests.static.notemplates_nooverridestatic.original/resource.css
+
+
+The template on the inheriting view should return the url of the resource of the base view:
+
+  >>> view = component.getMultiAdapter((cave, request), name='palaceview')
+  >>> print view()
+  http://127.0.0.1/@@/grokcore.view.ftests.static.notemplates_nooverridestatic.original/resource.css
+

Added: grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic/__init__.py
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic/__init__.py	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic/__init__.py	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1 @@
+# this is a package

Added: grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic/original/__init__.py
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic/original/__init__.py	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic/original/__init__.py	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1 @@
+# this is a package

Added: grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic/original/original.py
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic/original/original.py	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic/original/original.py	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1,19 @@
+
+
+from grokcore import view as grok
+
+
+class Cave(grok.Context):
+    pass
+
+
+class StaticResource(grok.DirectoryResource):
+    grok.name('grokcore.view.ftests.static.notemplates_overridestatic.original')
+    grok.path('static')
+
+
+class CaveView(grok.View):
+    grok.context(Cave)
+
+    def render(self):
+        return self.static['resource.css']()

Added: grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic/original/static/resource.css
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic/original/static/resource.css	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic/original/static/resource.css	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1,4 @@
+
+body {
+  color: red;
+}

Added: grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic/override/__init__.py
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic/override/__init__.py	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic/override/__init__.py	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1 @@
+# this is a package.

Added: grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic/override/override.py
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic/override/override.py	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic/override/override.py	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1,13 @@
+
+
+from grokcore import view as grok
+from grokcore.view.ftests.static.notemplates_overridestatic.original.original import CaveView
+
+
+class StaticResource(grok.DirectoryResource):
+    grok.name('grokcore.view.ftests.static.notemplates_overridestatic.override')
+    grok.path('static')
+
+
+class PalaceView(CaveView):
+    pass

Added: grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic/override/static/resource.css
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic/override/static/resource.css	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic/override/static/resource.css	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1,4 @@
+
+body {
+  color: red;
+}

Added: grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic.txt
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic.txt	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/notemplates_overridestatic.txt	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1,23 @@
+
+Testing the plugging in of a template language
+
+  >>> from grokcore.view.ftests.static.notemplates_overridestatic.original.original import Cave
+  >>> from zope.publisher.browser import TestRequest
+  >>> from zope import component
+
+  >>> cave = Cave()
+  >>> request = TestRequest()
+
+The template on the base view should return the url of the resource:
+
+  >>> view = component.getMultiAdapter((cave, request), name='caveview')
+  >>> print view()
+  http://127.0.0.1/@@/grokcore.view.ftests.static.notemplates_overridestatic.original/resource.css
+
+
+The template on the inheriting view should return the url of the resource of the base view:
+
+  >>> view = component.getMultiAdapter((cave, request), name='palaceview')
+  >>> print view()
+  http://127.0.0.1/@@/grokcore.view.ftests.static.notemplates_overridestatic.original/resource.css
+

Added: grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/__init__.py
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/__init__.py	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/__init__.py	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1 @@
+# this is a package

Added: grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/original/__init__.py
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/original/__init__.py	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/original/__init__.py	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1 @@
+# this is a package

Added: grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/original/original.py
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/original/original.py	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/original/original.py	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1,16 @@
+
+
+from grokcore import view as grok
+
+
+class Cave(grok.Context):
+    pass
+
+
+class StaticResource(grok.DirectoryResource):
+    grok.name('grokcore.view.ftests.static.overridetemplates_overridestatic.original')
+    grok.path('static')
+
+
+class CaveView(grok.View):
+    grok.context(Cave)

Added: grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/original/original_templates/caveview.pt
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/original/original_templates/caveview.pt	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/original/original_templates/caveview.pt	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1,5 @@
+<tal:block>
+  Cave view
+  <tal:resource tal:replace="static/resource.css" />
+</tal:block>
+

Added: grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/original/static/resource.css
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/original/static/resource.css	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/original/static/resource.css	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1,4 @@
+
+body {
+  color: red;
+}

Added: grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/override/__init__.py
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/override/__init__.py	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/override/__init__.py	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1 @@
+# this is a package.

Added: grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/override/override.py
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/override/override.py	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/override/override.py	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1,13 @@
+
+
+from grokcore import view as grok
+from grokcore.view.ftests.static.overridetemplates_overridestatic.original.original import CaveView
+
+
+class StaticResource(grok.DirectoryResource):
+    grok.name('grokcore.view.ftests.static.overridetemplates_overridestatic.override')
+    grok.path('static')
+
+
+class PalaceView(CaveView):
+    pass

Added: grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/override/override_templates/palaceview.pt
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/override/override_templates/palaceview.pt	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/override/override_templates/palaceview.pt	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1,4 @@
+<tal:block>
+  Palace view
+  <tal:resource tal:replace="static/resource.css" />
+</tal:block>

Added: grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/override/static/resource.css
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/override/static/resource.css	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic/override/static/resource.css	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1,4 @@
+
+body {
+  color: red;
+}

Added: grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic.txt
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic.txt	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/overridetemplates_overridestatic.txt	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1,25 @@
+
+Testing the plugging in of a template language
+
+  >>> from grokcore.view.ftests.static.overridetemplates_overridestatic.original.original import Cave
+  >>> from zope.publisher.browser import TestRequest
+  >>> from zope import component
+
+  >>> cave = Cave()
+  >>> request = TestRequest()
+
+The template on the base view should return the url of the resource:
+
+  >>> view = component.getMultiAdapter((cave, request), name='caveview')
+  >>> print view()
+  Cave view
+  http://127.0.0.1/@@/grokcore.view.ftests.static.overridetemplates_overridestatic.original/resource.css
+
+
+The template on the inheriting view should return the url of the resource of the base view:
+
+  >>> view = component.getMultiAdapter((cave, request), name='palaceview')
+  >>> print view()
+  Palace view
+  http://127.0.0.1/@@/grokcore.view.ftests.static.overridetemplates_overridestatic.override/resource.css
+

Copied: grokcore.view/trunk/src/grokcore/view/ftests/static/simple.py (from rev 125339, grokcore.view/trunk/src/grokcore/view/ftests/staticdir/simple.py)
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/simple.py	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/simple.py	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1,48 @@
+"""
+We use a special name 'static' in page templates to allow easy linking
+to resources.
+
+In the context of a grok application, you can use fanstatic (through zope.fanstatic)
+instead of the dummy implementation in this test:
+
+  >>> from zope.app.wsgi.testlayer import Browser
+  >>> browser = Browser()
+  >>> browser.handleErrors = False
+  >>> root = getRootFolder()
+  >>> from grokcore.view.ftests.staticdir.simple_fixture.ellie import Mammoth
+  >>> root[u'ellie'] = Mammoth()
+  >>> browser.open('http://localhost/ellie')
+  >>> print browser.contents
+  <html>
+  <body>
+  <a href="dummy:/file.txt">Some text in a file</a>
+  </body>
+  </html>
+
+"""
+import zope.interface
+import zope.component
+
+from zope.traversing.interfaces import ITraversable
+from zope.traversing.browser.interfaces import IAbsoluteURL
+from zope.publisher.interfaces.browser import IBrowserRequest
+
+class DummyResource(object):
+    """ Dummy resource implementation. """
+    zope.interface.implements(ITraversable, IAbsoluteURL)
+
+    def __init__(self, request, name=''):
+        self.request = request
+        self.name = name
+
+    def traverse(self, name, furtherPath):
+        name = '%s/%s' % (self.name, name)
+        return DummyResource(self.request, name=name)
+
+    def __str__(self):
+        return 'dummy:%s' % self.name
+
+zope.component.provideAdapter(factory=DummyResource,
+    adapts=(IBrowserRequest,),
+    provides=zope.interface.Interface,
+    name='grokcore.view.ftests.staticdir.simple_fixture')

Added: grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic/__init__.py
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic/__init__.py	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic/__init__.py	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1 @@
+# this is a package

Added: grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic/original/__init__.py
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic/original/__init__.py	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic/original/__init__.py	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1 @@
+# this is a package

Added: grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic/original/original.py
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic/original/original.py	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic/original/original.py	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1,16 @@
+
+
+from grokcore import view as grok
+
+
+class Cave(grok.Context):
+    pass
+
+
+class StaticResource(grok.DirectoryResource):
+    grok.name('grokcore.view.ftests.static.templates_nooverridestatic.original')
+    grok.path('static')
+
+
+class CaveView(grok.View):
+    grok.context(Cave)

Added: grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic/original/original_templates/caveview.pt
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic/original/original_templates/caveview.pt	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic/original/original_templates/caveview.pt	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1,5 @@
+<tal:block>
+  Cave view
+  <tal:resource tal:replace="static/resource.css" />
+</tal:block>
+

Added: grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic/original/static/resource.css
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic/original/static/resource.css	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic/original/static/resource.css	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1,4 @@
+
+body {
+  color: red;
+}

Added: grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic/override/__init__.py
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic/override/__init__.py	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic/override/__init__.py	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1 @@
+# this is a package.

Added: grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic/override/override.py
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic/override/override.py	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic/override/override.py	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1,7 @@
+
+
+from grokcore.view.ftests.static.templates_nooverridestatic.original.original import CaveView
+
+
+class PalaceView(CaveView):
+    pass

Added: grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic.txt
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic.txt	                        (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/static/templates_nooverridestatic.txt	2012-04-29 10:49:54 UTC (rev 125371)
@@ -0,0 +1,25 @@
+
+Testing the plugging in of a template language
+
+  >>> from grokcore.view.ftests.static.templates_nooverridestatic.original.original import Cave
+  >>> from zope.publisher.browser import TestRequest
+  >>> from zope import component
+
+  >>> cave = Cave()
+  >>> request = TestRequest()
+
+The template on the base view should return the url of the resource:
+
+  >>> view = component.getMultiAdapter((cave, request), name='caveview')
+  >>> print view()
+  Cave view
+  http://127.0.0.1/@@/grokcore.view.ftests.static.templates_nooverridestatic.original/resource.css
+
+
+The template on the inheriting view should return the url of the resource of the base view:
+
+  >>> view = component.getMultiAdapter((cave, request), name='palaceview')
+  >>> print view()
+  Cave view
+  http://127.0.0.1/@@/grokcore.view.ftests.static.templates_nooverridestatic.original/resource.css
+

Modified: grokcore.view/trunk/src/grokcore/view/ftests/test_functional.py
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/test_functional.py	2012-04-29 10:21:53 UTC (rev 125370)
+++ grokcore.view/trunk/src/grokcore/view/ftests/test_functional.py	2012-04-29 10:49:54 UTC (rev 125371)
@@ -20,26 +20,33 @@
     files = resource_listdir(__name__, name)
     suite = unittest.TestSuite()
     getRootFolder = FunctionalLayer.getRootFolder
+    globs = dict(http=http,
+                 getRootFolder=getRootFolder)
+    optionflags = (doctest.ELLIPSIS+
+                   doctest.NORMALIZE_WHITESPACE+
+                   doctest.REPORT_NDIFF)
+
     for filename in files:
-        if not filename.endswith('.py'):
-            continue
         if filename == '__init__.py':
             continue
 
-        dottedname = 'grokcore.view.ftests.%s.%s' % (name, filename[:-3])
-        test = doctest.DocTestSuite(
-            dottedname,
-            checker=checker,
-            extraglobs=dict(http=http,
-                            getRootFolder=getRootFolder,
-                            ),
-            optionflags=(doctest.ELLIPSIS+
-                         doctest.NORMALIZE_WHITESPACE+
-                         doctest.REPORT_NDIFF),
-            )
-        test.layer = FunctionalLayer
-
-        suite.addTest(test)
+        test = None
+        if filename.endswith('.py'):
+            dottedname = 'grokcore.view.ftests.%s.%s' % (name, filename[:-3])
+            test = doctest.DocTestSuite(
+                dottedname,
+                checker=checker,
+                extraglobs=globs,
+                optionflags=optionflags)
+            test.layer = FunctionalLayer
+        elif filename.endswith('.txt'):
+            test = doctest.DocFileSuite(
+                os.path.join(name, filename),
+                optionflags=optionflags,
+                globs=globs)
+            test.layer = FunctionalLayer
+        if test is not None:
+            suite.addTest(test)
     return suite
 
 def test_suite():
@@ -47,7 +54,7 @@
     for name in [
         'contentprovider',
         'directoryresource',
-        'staticdir',
+        'static',
         'url',
         'view',
         ]:

Modified: grokcore.view/trunk/src/grokcore/view/tests/directoryresource/directoryresources.py
===================================================================
--- grokcore.view/trunk/src/grokcore/view/tests/directoryresource/directoryresources.py	2012-04-29 10:21:53 UTC (rev 125370)
+++ grokcore.view/trunk/src/grokcore/view/tests/directoryresource/directoryresources.py	2012-04-29 10:49:54 UTC (rev 125371)
@@ -6,6 +6,7 @@
   >>> from zope.interface import Interface
   >>> from zope.component import getAdapter
   >>> from zope.publisher.browser import TestRequest
+
   >>> resource_foo = getAdapter(TestRequest(), Interface, name='foo')
   >>> resource_foo.context.path.replace('\\\\', '/') # Windows compliance 
   '...grokcore/view/tests/directoryresource/directoryresources_fixture/foo'

Modified: grokcore.view/trunk/src/grokcore/view/tests/test_all.py
===================================================================
--- grokcore.view/trunk/src/grokcore/view/tests/test_all.py	2012-04-29 10:21:53 UTC (rev 125370)
+++ grokcore.view/trunk/src/grokcore/view/tests/test_all.py	2012-04-29 10:49:54 UTC (rev 125371)
@@ -1,8 +1,13 @@
+
+import os
 import re
 import unittest
 from pkg_resources import resource_listdir
+
 from zope.testing import doctest, cleanup, renormalizing
 import zope.component.eventtesting
+
+import grokcore.view
 from grokcore.view.templatereg import file_template_registry
 
 optionflags = doctest.NORMALIZE_WHITESPACE | doctest.ELLIPSIS
@@ -26,20 +31,28 @@
     files = resource_listdir(__name__, name)
     suite = unittest.TestSuite()
     for filename in files:
-        if not filename.endswith('.py'):
-            continue
         if filename.endswith('_fixture.py'):
             continue
         if filename == '__init__.py':
             continue
-        dottedname = 'grokcore.view.tests.%s.%s' % (name, filename[:-3])
-        test = doctest.DocTestSuite(
-            dottedname,
-            setUp=setUp,
-            tearDown=cleanUp,
-            checker=checker,
-            optionflags=optionflags)
-        suite.addTest(test)
+        test = None
+        if filename.endswith('.py'):
+            dottedname = 'grokcore.view.tests.%s.%s' % (name, filename[:-3])
+            test = doctest.DocTestSuite(
+                dottedname,
+                setUp=setUp,
+                tearDown=cleanUp,
+                checker=checker,
+                optionflags=optionflags)
+        elif filename.endswith('.txt'):
+            test = doctest.DocFileSuite(
+                os.path.join(name, filename),
+                optionflags=optionflags,
+                setUp=setUp,
+                tearDown=cleanUp,
+                globs={'grok': grokcore.view})
+        if test is not None:
+            suite.addTest(test)
     return suite
 
 def test_suite():



More information about the checkins mailing list