[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 @@
</span>
<BLANKLINE>
</div>
- 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