[Checkins] SVN: grok/trunk/src/grok/tests/view/twoviewsusetemplate.py test that templates can be associated with multiple views.

Philipp von Weitershausen philikon at philikon.de
Mon Oct 16 03:48:37 EDT 2006


Log message for revision 70672:
  test that templates can be associated with multiple views.
  

Changed:
  A   grok/trunk/src/grok/tests/view/twoviewsusetemplate.py

-=-
Added: grok/trunk/src/grok/tests/view/twoviewsusetemplate.py
===================================================================
--- grok/trunk/src/grok/tests/view/twoviewsusetemplate.py	2006-10-16 07:41:35 UTC (rev 70671)
+++ grok/trunk/src/grok/tests/view/twoviewsusetemplate.py	2006-10-16 07:48:36 UTC (rev 70672)
@@ -0,0 +1,61 @@
+"""
+A template can be used by multiple views at the same time:
+
+  >>> grok.grok(__name__)
+
+  >>> manfred = Mammoth()
+  >>> from zope.publisher.browser import TestRequest
+  >>> request = TestRequest()
+  >>> from zope import component
+
+  >>> view = component.getMultiAdapter((manfred, request), name='a')
+  >>> print view()
+  View A
+
+  >>> view = component.getMultiAdapter((manfred, request), name='b')
+  >>> print view()
+  View A
+
+It also works if templates are both associated explicitly:
+
+  >>> view = component.getMultiAdapter((manfred, request), name='c')
+  >>> print view()
+  Template
+
+  >>> view = component.getMultiAdapter((manfred, request), name='d')
+  >>> print view()
+  Template
+
+Because the template is associated, we do not expect it to be
+registered as its own view:
+
+  >>> view = component.getMultiAdapter((manfred, request), name='templ')
+  Traceback (most recent call last):
+    ...
+  ComponentLookupError:
+  ((<grok.tests.view.twoviewsusetemplate.Mammoth object at 0x...>,
+  <zope.publisher.browser.TestRequest instance URL=http://127.0.0.1>),
+  <InterfaceClass zope.interface.Interface>, 'templ')
+
+
+"""
+import grok
+
+class Mammoth(grok.Model):
+    pass
+
+class A(grok.View):
+    pass
+
+a = grok.PageTemplate("View A")
+
+class B(grok.View):
+    grok.template('a')
+
+class C(grok.View):
+    grok.template('templ')
+
+class D(grok.View):
+    grok.template('templ')
+
+templ = grok.PageTemplate('Template')


Property changes on: grok/trunk/src/grok/tests/view/twoviewsusetemplate.py
___________________________________________________________________
Name: svn:eol-style
   + native



More information about the Checkins mailing list