[Checkins] SVN: grok/branches/snowsprint-viewlets/src/grok/ftests/viewlet/viewlet Clean up the way templates were used in the viewlet tests. This involved

Martijn Faassen faassen at infrae.com
Tue Jan 22 09:40:52 EST 2008


Log message for revision 83088:
  Clean up the way templates were used in the viewlet tests. This involved
  renaming viewlet.py to viewlet_security.py as for some reason the name
  viewlet resulted in really strange template association behavior; something
  that will be investigated soon.
  

Changed:
  D   grok/branches/snowsprint-viewlets/src/grok/ftests/viewlet/viewlet.py
  A   grok/branches/snowsprint-viewlets/src/grok/ftests/viewlet/viewlet_security.py
  A   grok/branches/snowsprint-viewlets/src/grok/ftests/viewlet/viewlet_security_templates/
  A   grok/branches/snowsprint-viewlets/src/grok/ftests/viewlet/viewlet_security_templates/caveview.pt

-=-
Deleted: grok/branches/snowsprint-viewlets/src/grok/ftests/viewlet/viewlet.py
===================================================================
--- grok/branches/snowsprint-viewlets/src/grok/ftests/viewlet/viewlet.py	2008-01-22 13:37:36 UTC (rev 83087)
+++ grok/branches/snowsprint-viewlets/src/grok/ftests/viewlet/viewlet.py	2008-01-22 14:40:52 UTC (rev 83088)
@@ -1,53 +0,0 @@
-"""
-
-Test Viewlets
-=============
-
-    >>> from zope.publisher.browser import TestRequest
-    >>> request = TestRequest()
-    >>> betty = CaveWoman()
-    >>> view = CaveView(betty, request)
-    >>> print view()
-    Brack Bone
-    T-Rex Bone
-    <BLANKLINE>
-"""
-
-
-import grok
-
-
-class CaveWoman(grok.Model):
-    pass
-
-
-class Template(grok.View):
-    pass
-
-
-template = grok.PageTemplateFile('viewlet.pt')
-template.__grok_name__ = 'testtemplate'
-template.__grok_location__ = None
-
-class CaveView(grok.View):
-    template = template
-    def render(self):
-        pass
-
-class Pot(grok.ViewletManager):
-    grok.context(CaveView)
-    grok.name('pot') # default
-
-
-class TRexBone(grok.Viewlet):
-    grok.viewletmanager(Pot)
-
-    def render(self):
-        return "T-Rex Bone"
-
-
-class BrackerBone(grok.Viewlet):
-    grok.viewletmanager(Pot)
-
-    def render(self):
-        return "Brack Bone"

Added: grok/branches/snowsprint-viewlets/src/grok/ftests/viewlet/viewlet_security.py
===================================================================
--- grok/branches/snowsprint-viewlets/src/grok/ftests/viewlet/viewlet_security.py	                        (rev 0)
+++ grok/branches/snowsprint-viewlets/src/grok/ftests/viewlet/viewlet_security.py	2008-01-22 14:40:52 UTC (rev 83088)
@@ -0,0 +1,82 @@
+"""
+
+Test Viewlets
+=============
+
+  >>> root = getRootFolder()
+  >>> root['wilma'] = CaveWoman()
+  >>> from zope.testbrowser.testing import Browser
+  >>> browser = Browser()
+  >>> browser.handleErrors = False
+  >>> browser.open("http://localhost/wilma/@@caveview")
+  >>> print browser.contents
+  Brack Bone
+  T-Rex Bone
+
+  >>> from zope.securitypolicy.interfaces import IPrincipalRoleManager
+  >>> IPrincipalRoleManager(root).assignRoleToPrincipal(
+  ...    'grok.BoneOwner', 'zope.anybody')
+  >>> browser.open("http://localhost/wilma/@@caveview")
+  >>> print browser.contents
+  Brack Bone
+  Gold Bone
+  T-Rex Bone
+
+  >> browser.open('http://localhost/++skin++boneskin/wilma/@@caveview')
+  >> print browser.contents
+  Layered Bone
+
+"""
+
+
+import grok
+
+
+class Gold(grok.Permission):
+    grok.name('bone.gold')
+
+class CaveWoman(grok.Model):
+    pass
+
+class CaveView(grok.View):
+    pass
+
+class Pot(grok.ViewletManager):
+    grok.name('pot')
+
+class TRexBone(grok.Viewlet):
+    grok.viewletmanager(Pot)
+
+    def render(self):
+        return "T-Rex Bone"
+
+class BrackerBone(grok.Viewlet):
+    grok.viewletmanager(Pot)
+
+    def render(self):
+        return "Brack Bone"
+
+class BoneOwner(grok.Role):
+    grok.name('grok.BoneOwner')
+    grok.title('Bone Ownwer')
+    grok.permissions('bone.gold')
+
+class GoldBone(grok.Viewlet):
+    grok.viewletmanager(Pot)
+    grok.require('bone.gold')
+
+    def render(self):
+        return 'Gold Bone'
+
+class IBoneLayer(grok.IGrokLayer):
+    pass
+
+class LayeredBone(grok.Viewlet):
+    grok.viewletmanager(Pot)
+    grok.layer(IBoneLayer)
+
+    def render(self):
+        return 'Layered Bone'
+
+class BoneSkin(grok.Skin):
+    grok.layer(IBoneLayer)

Added: grok/branches/snowsprint-viewlets/src/grok/ftests/viewlet/viewlet_security_templates/caveview.pt
===================================================================
--- grok/branches/snowsprint-viewlets/src/grok/ftests/viewlet/viewlet_security_templates/caveview.pt	                        (rev 0)
+++ grok/branches/snowsprint-viewlets/src/grok/ftests/viewlet/viewlet_security_templates/caveview.pt	2008-01-22 14:40:52 UTC (rev 83088)
@@ -0,0 +1 @@
+<span tal:replace="provider:pot" />



More information about the Checkins mailing list