[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