[Checkins] SVN: Sandbox/darrylcousins/mars.viewlet/src/mars/viewlet/viewlet.txt Working on tests

Darryl Cousins darryl at darrylcousins.net.nz
Fri Jul 20 19:34:35 EDT 2007


Log message for revision 78229:
  Working on tests

Changed:
  U   Sandbox/darrylcousins/mars.viewlet/src/mars/viewlet/viewlet.txt

-=-
Modified: Sandbox/darrylcousins/mars.viewlet/src/mars/viewlet/viewlet.txt
===================================================================
--- Sandbox/darrylcousins/mars.viewlet/src/mars/viewlet/viewlet.txt	2007-07-20 23:13:46 UTC (rev 78228)
+++ Sandbox/darrylcousins/mars.viewlet/src/mars/viewlet/viewlet.txt	2007-07-20 23:34:34 UTC (rev 78229)
@@ -136,53 +136,19 @@
   <div>Second viewlet content</div>
   <div>First viewlet content</div>
 
-Tal Expression
---------------
+Provider
+--------
 
 Usually though we do not directly call on the manager but rather we insert the
-manager into a template using the ``provider`` expression. Here is a template
-file that does just that.
+manager into a template using the ``provider`` expression. 
 
-  >>> layout = os.path.join(temp_dir, 'layout.pt')
-  >>> open(layout, 'w').write('''
-  ... <html>
-  ...  <body>
-  ...   <div tal:content="structure provider: mymanager">
-  ...     here render my manager
-  ...   </div>
-  ...  </body>
-  ... </html>
-  ... ''')
+The manager will be looked up as a multiadapter.
 
-We need a view and a template to use this template.
+  >>> from zope.contentprovider.interfaces import IContentProvider
+  >>> print zope.component.queryMultiAdapter((content, request, view),
+  ...             IContentProvider, 'mymanager')
+  None
 
-  >>> class TestView(mars.view.LayoutView):
-  ...     grok.context(zope.interface.Interface)
-
-  >>> class ViewLayout(mars.template.LayoutFactory):
-  ...     grok.template(layout)
-  ...     grok.context(TestView)
-
-We need to manually ``grok`` these classes in the doctest. Usually this happens
-at start up.
-
-  >>> from mars.view.meta import LayoutViewGrokker
-  >>> LayoutViewGrokker().grok('', TestView, None, module_info, None)
-  True
-
-  >>> from mars.template.meta import LayoutFactoryGrokker
-  >>> LayoutFactoryGrokker().grok('', ViewLayout, None, module_info, None)
-  True
-
-We can now look up the view and expect the template to be rendered.
-
-  >>> testview = zope.component.getMultiAdapter((content, request),
-  ...                                       name='testview')
-  >>> print testview()
-  Traceback (most recent call last):
-  ...
-  ContentProviderLookupError:  mymanager
-
 OK. What happened here is that we have yet ``grokked`` the viewlet manager. Lets
 do that.
 
@@ -191,13 +157,8 @@
   ...                               module_info, None)
   True
 
-And we try the view again.
+And we try the lookup again.
 
-  >>> from zope.contentprovider.interfaces import IContentProvider
-  >>> from zope.viewlet.interfaces import IViewletManager
-  >>> from zope.publisher.interfaces.browser import IBrowserView
-  >>> print zope.component.queryMultiAdapter((content, request, testview),
-  ...             IContentProvider, 'myanager')
+  >>> print zope.component.queryMultiAdapter((content, request, view),
+  ...             IContentProvider, 'mymanager')
   <MyManager ...>
-  >>> print content, request, testview
-  >>> print testview()



More information about the Checkins mailing list