[Checkins] SVN: Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/ more tests...

Christian Klinger cklinger at novareto.de
Tue Mar 31 10:40:22 EDT 2009


Log message for revision 98680:
  more tests...

Changed:
  U   Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/__init__.py
  U   Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/ftesting.zcml
  D   Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/index.txt
  U   Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/managers.py
  A   Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/templates/action.pt
  A   Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/tests/test_actions.py
  A   Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/tests/test_actions_templates/
  A   Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/tests/test_actions_templates/myview.pt
  D   Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/tests/test_globalmenuitem_templates/print.pt
  U   Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/tests/test_tabs.py
  U   Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/viewlets.py

-=-
Modified: Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/__init__.py
===================================================================
--- Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/__init__.py	2009-03-31 12:38:17 UTC (rev 98679)
+++ Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/__init__.py	2009-03-31 14:40:22 UTC (rev 98680)
@@ -1,2 +1,2 @@
-from managers import TabMenuManager
-from viewlets import ContextViewlet, GlobalMenuViewlet, TabItem
+from managers import TabMenu, ActionMenu
+from viewlets import ContextViewlet, GlobalMenuViewlet, TabItem, ActionItem

Modified: Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/ftesting.zcml
===================================================================
--- Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/ftesting.zcml	2009-03-31 12:38:17 UTC (rev 98679)
+++ Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/ftesting.zcml	2009-03-31 14:40:22 UTC (rev 98680)
@@ -5,7 +5,6 @@
   <include package="grok" />
   <include package="grokcore.view" file="meta.zcml" />
 
-
   <grok:grok package="megrok.ootbviewlets.tests" />
 
   <securityPolicy

Deleted: Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/index.txt
===================================================================
--- Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/index.txt	2009-03-31 12:38:17 UTC (rev 98679)
+++ Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/index.txt	2009-03-31 14:40:22 UTC (rev 98680)
@@ -1,17 +0,0 @@
-=================================
-megrok.ootbviewlets Documentation
-=================================
-
-Contents:
-
-.. toctree::
-   :maxdepth: 2
-
-   README
-
-Indices and tables
-==================
-
-* :ref:`genindex`
-* :ref:`modindex`
-* :ref:`search`

Modified: Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/managers.py
===================================================================
--- Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/managers.py	2009-03-31 12:38:17 UTC (rev 98679)
+++ Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/managers.py	2009-03-31 14:40:22 UTC (rev 98680)
@@ -1,7 +1,7 @@
 import grok
 from z3c.menu.simple import menu
 
-class TabMenuManager(menu.Tab, grok.ViewletManager):
+class TabMenu(menu.Tab, grok.ViewletManager):
     grok.baseclass()
     template = grok.PageTemplateFile('templates/tab.pt')
 
@@ -11,3 +11,12 @@
             return u''
         return self.template.render(self)
 
+class ActionMenu(menu.Action, grok.ViewletManager):
+    grok.baseclass()
+    template = grok.PageTemplateFile('templates/action.pt')
+
+    def render(self):
+        """Return the template with the option 'menus'"""
+        if not self.viewlets:
+            return u''
+        return self.template.render(self)

Added: Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/templates/action.pt
===================================================================
--- Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/templates/action.pt	                        (rev 0)
+++ Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/templates/action.pt	2009-03-31 14:40:22 UTC (rev 98680)
@@ -0,0 +1,6 @@
+<div class="actionMenuWrapper">
+  <ul class="actionMenu">
+    <tal:block repeat="viewlet viewletmanager/viewlets" replace="structure viewlet/render" />
+  </ul>
+</div>
+<div class="clearActionMenu" />

Added: Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/tests/test_actions.py
===================================================================
--- Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/tests/test_actions.py	                        (rev 0)
+++ Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/tests/test_actions.py	2009-03-31 14:40:22 UTC (rev 98680)
@@ -0,0 +1,45 @@
+"""
+Set up a content object in the application root::
+
+  >>> from zope.app.testing.functional import getRootFolder
+  >>> root = getRootFolder()
+  >>> root['actions'] = MyContext()
+
+Traverse to the view on the model object. We get the viewlets
+registered for the default layer, with the anybody permission::
+
+  >>> from zope.testbrowser.testing import Browser
+  >>> browser = Browser('http://localhost/actions/@@myview')
+  >>> browser.handleErrors = True 
+
+Open the myview in context of fred should give us
+the print in link in the right context.
+
+  >>> #browser.open("http://localhost/actions/@@myview")
+  >>> print browser.contents
+"""
+import grok
+from megrok.ootbviewlets import ActionItem, ActionMenu 
+
+class MyContext(grok.Context):
+    pass
+
+class MyView(grok.View):
+    pass
+
+class MyManager(ActionMenu):
+    grok.name('mymanager')
+
+class MyTab(ActionItem):
+    grok.name('print')
+
+    urlEndings = ['print', ]
+    viewURL = 'print'
+
+def test_suite():
+    from zope.testing import doctest
+    from megrok.ootbviewlets.tests import FunctionalLayer
+    suite = doctest.DocTestSuite(optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS|doctest.REPORT_NDIFF)
+    suite.layer = FunctionalLayer
+    return suite
+

Added: Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/tests/test_actions_templates/myview.pt
===================================================================
--- Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/tests/test_actions_templates/myview.pt	                        (rev 0)
+++ Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/tests/test_actions_templates/myview.pt	2009-03-31 14:40:22 UTC (rev 98680)
@@ -0,0 +1 @@
+<span tal:replace="provider:mymanager" />

Deleted: Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/tests/test_globalmenuitem_templates/print.pt
===================================================================
--- Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/tests/test_globalmenuitem_templates/print.pt	2009-03-31 12:38:17 UTC (rev 98679)
+++ Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/tests/test_globalmenuitem_templates/print.pt	2009-03-31 14:40:22 UTC (rev 98680)
@@ -1 +0,0 @@
-<span tal:replace="provider:mymanager" />

Modified: Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/tests/test_tabs.py
===================================================================
--- Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/tests/test_tabs.py	2009-03-31 12:38:17 UTC (rev 98679)
+++ Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/tests/test_tabs.py	2009-03-31 14:40:22 UTC (rev 98680)
@@ -23,12 +23,9 @@
   &lt;/span&gt;
   <BLANKLINE>
   &lt;/div&gt;
-  klaus
-
-
 """
 import grok
-from megrok.ootbviewlets import TabItem, TabMenuManager 
+from megrok.ootbviewlets import TabItem, TabMenu
 
 class MyContext(grok.Context):
     pass
@@ -36,7 +33,7 @@
 class MyView(grok.View):
     pass
 
-class MyManager(TabMenuManager):
+class MyManager(TabMenu):
     grok.name('mymanager')
 
 class MyTab(TabItem):

Modified: Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/viewlets.py
===================================================================
--- Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/viewlets.py	2009-03-31 12:38:17 UTC (rev 98679)
+++ Sandbox/cklinger/megrok.ootbviewlets/trunk/src/megrok/ootbviewlets/viewlets.py	2009-03-31 14:40:22 UTC (rev 98680)
@@ -1,17 +1,33 @@
 import grok
 from z3c.menu.simple.menu import (ContextMenuItem, GlobalMenuItem,
-               TabItem)
+               TabItem, ActionItem)
 
 class ContextViewlet(ContextMenuItem, grok.Viewlet):
+    """ Viewlet based on a specific context 
+    """
     grok.baseclass()
 
 
 class GlobalMenuViewlet(GlobalMenuItem, grok.Viewlet):
+    """Viewlet based on a specific site
+    """
     grok.baseclass()
 
+
 class TabItem(TabItem, grok.Viewlet):
+    """Viewlet which renders as a Tab Item
+    """
     grok.baseclass()
 
     def render(self):
         return self.template()
 
+
+class ActionItem(ActionItem, grok.Viewlet):
+    """Viewlet which renders as a Action Item
+    """
+    grok.baseclass()
+
+    def render(self):
+        return self.template()
+



More information about the Checkins mailing list