[Checkins] SVN: megrok.strictrequire/trunk/ - Add grokker for grok.Page components.
Jan-Jaap Driessen
cvs-admin at zope.org
Wed Oct 16 05:03:41 CEST 2013
Log message for revision 130337:
- Add grokker for grok.Page components.
Changed:
U megrok.strictrequire/trunk/CHANGES.txt
U megrok.strictrequire/trunk/src/megrok/strictrequire/meta.py
U megrok.strictrequire/trunk/src/megrok/strictrequire/tests/checkrequire.txt
U megrok.strictrequire/trunk/src/megrok/strictrequire/tests/fixtures.py
-=-
Modified: megrok.strictrequire/trunk/CHANGES.txt
===================================================================
--- megrok.strictrequire/trunk/CHANGES.txt 2013-10-16 03:03:11 UTC (rev 130336)
+++ megrok.strictrequire/trunk/CHANGES.txt 2013-10-16 03:03:41 UTC (rev 130337)
@@ -4,7 +4,7 @@
0.6 (unreleased)
----------------
-- Nothing changed yet.
+- Add grokker for grok.Page components.
0.5 (2011-07-19)
Modified: megrok.strictrequire/trunk/src/megrok/strictrequire/meta.py
===================================================================
--- megrok.strictrequire/trunk/src/megrok/strictrequire/meta.py 2013-10-16 03:03:11 UTC (rev 130336)
+++ megrok.strictrequire/trunk/src/megrok/strictrequire/meta.py 2013-10-16 03:03:41 UTC (rev 130337)
@@ -35,6 +35,11 @@
return True
+class CheckRequireGrokkerPage(CheckRequireGrokker):
+ """Ensure every grok.Page has a grok.require directive"""
+ martian.component(grok.Page)
+
+
class CheckRequireGrokkerViewlet(CheckRequireGrokker):
"""Ensure every grok.Viewlet has a grok.require directive"""
martian.component(grok.Viewlet)
Modified: megrok.strictrequire/trunk/src/megrok/strictrequire/tests/checkrequire.txt
===================================================================
--- megrok.strictrequire/trunk/src/megrok/strictrequire/tests/checkrequire.txt 2013-10-16 03:03:11 UTC (rev 130336)
+++ megrok.strictrequire/trunk/src/megrok/strictrequire/tests/checkrequire.txt 2013-10-16 03:03:41 UTC (rev 130337)
@@ -11,7 +11,7 @@
>>> from grok.testing import grok_component
>>> from megrok.strictrequire.tests.fixtures import (
- ... NoRequireView, NoRequireViewlet)
+ ... NoRequireView, NoRequirePage, NoRequireViewlet)
>>> grok_component('NoRequireView', NoRequireView)
Traceback (most recent call last):
...
@@ -19,6 +19,13 @@
<class 'megrok.strictrequire.tests.fixtures.NoRequireView'>
to use the grok.require directive!
+ >>> grok_component('NoRequirePage', NoRequirePage)
+ Traceback (most recent call last):
+ ...
+ SecurityError: megrok.strictrequire requires
+ <class 'megrok.strictrequire.tests.fixtures.NoRequirePage'>
+ to use the grok.require directive!
+
>>> grok_component('NoRequireViewlet', NoRequireViewlet)
Traceback (most recent call last):
...
@@ -78,11 +85,13 @@
exception raised::
>>> from megrok.strictrequire.tests.fixtures import (
- ... RequireView, RequireForm, RequireAddForm, RequireEditForm,
- ... RequireXMLRPC, RequireREST, RequireJSON,
+ ... RequireView, RequirePage, RequireForm, RequireAddForm,
+ ... RequireEditForm, RequireXMLRPC, RequireREST, RequireJSON,
... RequireOnMethodXMLRPC, RequireOnMethodREST, RequireOnMethodJSON)
>>> grok_component('RequireView', RequireView)
True
+ >>> grok_component('RequirePage', RequirePage)
+ True
>>> grok_component('RequireForm', RequireForm)
True
>>> grok_component('RequireAddForm', RequireAddForm)
Modified: megrok.strictrequire/trunk/src/megrok/strictrequire/tests/fixtures.py
===================================================================
--- megrok.strictrequire/trunk/src/megrok/strictrequire/tests/fixtures.py 2013-10-16 03:03:11 UTC (rev 130336)
+++ megrok.strictrequire/trunk/src/megrok/strictrequire/tests/fixtures.py 2013-10-16 03:03:41 UTC (rev 130337)
@@ -20,6 +20,12 @@
def render(self):
pass
+class NoRequirePage(grok.Page):
+ grok.context(zope.interface.Interface)
+
+ def render(self):
+ pass
+
class NoRequireViewletManager(grok.ViewletManager):
grok.context(zope.interface.Interface)
@@ -73,6 +79,13 @@
def render(self):
pass
+class RequirePage(grok.Page):
+ grok.context(zope.interface.Interface)
+ grok.require('zope.Public')
+
+ def render(self):
+ pass
+
class RequireForm(grok.Form):
grok.context(zope.interface.Interface)
grok.require('zope.Public')
More information about the checkins
mailing list