[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