[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