[Checkins] SVN: grok/branches/snowsprint-viewlets/src/grok/ftests/viewlet/viewlet_interface Add a test to see whether viewlets can be associated with a manager

Martijn Faassen faassen at infrae.com
Wed Jan 23 17:28:21 EST 2008


Log message for revision 83140:
  Add a test to see whether viewlets can be associated with a manager
  through interface instead of directly with the class.
  

Changed:
  A   grok/branches/snowsprint-viewlets/src/grok/ftests/viewlet/viewlet_interface.py
  A   grok/branches/snowsprint-viewlets/src/grok/ftests/viewlet/viewlet_interface_templates/
  A   grok/branches/snowsprint-viewlets/src/grok/ftests/viewlet/viewlet_interface_templates/index.pt

-=-
Added: grok/branches/snowsprint-viewlets/src/grok/ftests/viewlet/viewlet_interface.py
===================================================================
--- grok/branches/snowsprint-viewlets/src/grok/ftests/viewlet/viewlet_interface.py	                        (rev 0)
+++ grok/branches/snowsprint-viewlets/src/grok/ftests/viewlet/viewlet_interface.py	2008-01-23 22:28:20 UTC (rev 83140)
@@ -0,0 +1,44 @@
+"""
+
+Verify that associating viewlets with an interface instead of with a
+viewlet manager class works as expected.
+
+Set up the model object to view::
+
+  >>> root = getRootFolder()
+  >>> root['cave'] = Cave()
+
+Viewing the cave object should result in the viewlet being displayed,
+as it is associated with the interface::
+
+  >>> from zope.testbrowser.testing import Browser
+  >>> browser = Browser()
+  >>> browser.handleErrors = False
+  >>> browser.open("http://localhost/cave")
+  >>> print browser.contents
+  Me Fred
+
+
+"""
+
+import grok
+from zope.interface import Interface
+
+class ICavemenViewletManager(Interface):
+    pass
+
+class CavemenViewletManager(grok.ViewletManager):
+    grok.name('manage.cavemen')
+    grok.implements(ICavemenViewletManager)
+
+class FredViewlet(grok.Viewlet):
+    grok.viewletmanager(ICavemenViewletManager)
+
+    def render(self):
+        return 'Me Fred'
+
+class Cave(grok.Model):
+    pass
+
+class Index(grok.View):
+    pass

Added: grok/branches/snowsprint-viewlets/src/grok/ftests/viewlet/viewlet_interface_templates/index.pt
===================================================================
--- grok/branches/snowsprint-viewlets/src/grok/ftests/viewlet/viewlet_interface_templates/index.pt	                        (rev 0)
+++ grok/branches/snowsprint-viewlets/src/grok/ftests/viewlet/viewlet_interface_templates/index.pt	2008-01-23 22:28:20 UTC (rev 83140)
@@ -0,0 +1 @@
+<tal:block content="provider:manage.cavemen" />



More information about the Checkins mailing list