[Checkins] SVN: megrok.resourceviewlet/trunk/src/megrok/resourceviewlet/ Added tests. They pass.

Souheil CHELFOUH souheil at chelfouh.com
Wed Dec 23 20:21:23 EST 2009


Log message for revision 107033:
  Added tests. They pass.
  

Changed:
  A   megrok.resourceviewlet/trunk/src/megrok/resourceviewlet/README.txt
  U   megrok.resourceviewlet/trunk/src/megrok/resourceviewlet/__init__.py
  U   megrok.resourceviewlet/trunk/src/megrok/resourceviewlet/components.py
  A   megrok.resourceviewlet/trunk/src/megrok/resourceviewlet/ftests/
  A   megrok.resourceviewlet/trunk/src/megrok/resourceviewlet/ftests/__init__.py
  A   megrok.resourceviewlet/trunk/src/megrok/resourceviewlet/ftests/ftesting.zcml
  A   megrok.resourceviewlet/trunk/src/megrok/resourceviewlet/ftests/resources/
  A   megrok.resourceviewlet/trunk/src/megrok/resourceviewlet/ftests/resources/thing.js
  A   megrok.resourceviewlet/trunk/src/megrok/resourceviewlet/ftests/test_general.py
  D   megrok.resourceviewlet/trunk/src/megrok/resourceviewlet/tests.py

-=-
Added: megrok.resourceviewlet/trunk/src/megrok/resourceviewlet/README.txt
===================================================================
--- megrok.resourceviewlet/trunk/src/megrok/resourceviewlet/README.txt	                        (rev 0)
+++ megrok.resourceviewlet/trunk/src/megrok/resourceviewlet/README.txt	2009-12-24 01:21:23 UTC (rev 107033)
@@ -0,0 +1,87 @@
+======================
+megrok.resourceviewlet
+======================
+
+`megrok.resourceviewlet`
+
+Setup
+=====
+
+Let's import and init the necessary work environment::
+
+  >>> import grokcore.component as grok
+  >>> from grokcore import view, viewlet
+  >>> from zope.testbrowser.testing import Browser
+
+  >>> browser = Browser()
+  >>> browser.handleErrors = False 
+
+
+Library
+=======
+
+  >>> from megrok import resource
+  >>> class SomeResource(resource.ResourceLibrary):
+  ...     resource.path('ftests/resources')
+  ...     resource.resource('thing.js')
+
+  >>> grok.testing.grok_component('library', SomeResource)
+  True
+
+
+Components
+==========
+
+View
+----
+
+  >>> from zope.interface import Interface
+
+  >>> class Index(view.View):
+  ...   view.context(Interface)
+  ...
+  ...   template = view.PageTemplate("""<html><head>
+  ...     <tal:resources replace='provider:resources' />
+  ...   </head></html>""")
+
+  >>> grok.testing.grok_component('index', Index)
+  True
+
+
+Manager
+-------
+
+  >>> from megrok.resourceviewlet import InclusionViewletManager
+
+  >>> class Resources(InclusionViewletManager):
+  ...   viewlet.context(Interface)
+  ...   viewlet.view(Index)
+
+  >>> grok.testing.grok_component('resources', Resources)
+  True
+
+
+Viewlet
+-------
+
+  >>> from megrok.resourceviewlet import ResourceViewlet
+
+  >>> class SomeViewlet(ResourceViewlet):
+  ...   viewlet.viewletmanager(Resources)
+  ...   viewlet.context(Interface)
+  ...   resources = [SomeResource]
+
+  >>> grok.testing.grok_component('viewlet', SomeViewlet)
+  True
+
+
+Rendering
+---------
+
+  >>> browser.open('http://localhost/@@index')
+  >>> print browser.contents
+  <html><head>
+    <script
+      type="text/javascript"
+      src="http://localhost/@@/++noop++.../someresource/thing.js"></script>
+  </head></html>

Modified: megrok.resourceviewlet/trunk/src/megrok/resourceviewlet/__init__.py
===================================================================
--- megrok.resourceviewlet/trunk/src/megrok/resourceviewlet/__init__.py	2009-12-24 00:43:07 UTC (rev 107032)
+++ megrok.resourceviewlet/trunk/src/megrok/resourceviewlet/__init__.py	2009-12-24 01:21:23 UTC (rev 107033)
@@ -0,0 +1,2 @@
+from megrok.resourceviewlet.components import (
+    IResourceViewlet, InclusionViewletManager, ResourceViewlet)

Modified: megrok.resourceviewlet/trunk/src/megrok/resourceviewlet/components.py
===================================================================
--- megrok.resourceviewlet/trunk/src/megrok/resourceviewlet/components.py	2009-12-24 00:43:07 UTC (rev 107032)
+++ megrok.resourceviewlet/trunk/src/megrok/resourceviewlet/components.py	2009-12-24 01:21:23 UTC (rev 107033)
@@ -2,13 +2,13 @@
 
 import grokcore.component as grok
 
-from hurry.resource import IInclusion
-from grokcore.viewlet.component import ViewletManager, Viewlet
+from grokcore.viewlet.components import ViewletManager, Viewlet
 from grokcore.viewlet.interfaces import IViewletManager
+from hurry.resource.interfaces import IInclusion
 
+from zope.interface import Interface
 from zope.schema import List, Object
 from zope.schema.fieldproperty import FieldProperty
-from zope.interface import Interface
 from zope.viewlet.interfaces import IViewlet
 from zope.viewlet.manager import ViewletManagerBase
 
@@ -36,6 +36,7 @@
     grok.baseclass()
 
     def __init__(self, context, request, view):
+        ViewletManagerBase.__init__(self, context, request, view)
         self.context = context
         self.request = request
         self.view = view
@@ -79,5 +80,5 @@
         pass
 
     def render(self):
-        for resource in resources:
+        for resource in self.resources:
             resource.need()

Added: megrok.resourceviewlet/trunk/src/megrok/resourceviewlet/ftests/ftesting.zcml
===================================================================
--- megrok.resourceviewlet/trunk/src/megrok/resourceviewlet/ftests/ftesting.zcml	                        (rev 0)
+++ megrok.resourceviewlet/trunk/src/megrok/resourceviewlet/ftests/ftesting.zcml	2009-12-24 01:21:23 UTC (rev 107033)
@@ -0,0 +1,32 @@
+<configure
+    xmlns="http://namespaces.zope.org/zope"
+    xmlns:grok="http://namespaces.zope.org/grok"
+    i18n_domain="zope">
+
+  <include package="grokcore.view" file="meta.zcml" />
+  <include package="grokcore.viewlet" file="meta.zcml" />
+  <include package="zope.app.zcmlfiles" file="meta.zcml" />
+  <include package="zope.securitypolicy" file="meta.zcml" />
+
+  <include package="zope.contentprovider" />
+  <include package="zope.app.zcmlfiles" />
+  <include package="zope.app.authentication" />
+  <include package="grokcore.view" />
+  <include package="grokcore.viewlet" />
+  <include package="megrok.resource" />
+ 
+  <securityPolicy
+      component="zope.securitypolicy.zopepolicy.ZopeSecurityPolicy"
+      />
+
+  <unauthenticatedPrincipal
+      id="zope.anybody"
+      title="Unauthenticated User"
+      />
+  
+  <grant
+      permission="zope.View"
+      principal="zope.anybody"
+      />
+
+</configure>

Added: megrok.resourceviewlet/trunk/src/megrok/resourceviewlet/ftests/resources/thing.js
===================================================================
--- megrok.resourceviewlet/trunk/src/megrok/resourceviewlet/ftests/resources/thing.js	                        (rev 0)
+++ megrok.resourceviewlet/trunk/src/megrok/resourceviewlet/ftests/resources/thing.js	2009-12-24 01:21:23 UTC (rev 107033)
@@ -0,0 +1 @@
+var url = "something"

Added: megrok.resourceviewlet/trunk/src/megrok/resourceviewlet/ftests/test_general.py
===================================================================
--- megrok.resourceviewlet/trunk/src/megrok/resourceviewlet/ftests/test_general.py	                        (rev 0)
+++ megrok.resourceviewlet/trunk/src/megrok/resourceviewlet/ftests/test_general.py	2009-12-24 01:21:23 UTC (rev 107033)
@@ -0,0 +1,27 @@
+# -*- coding: utf-8 -*-
+
+import os.path
+import unittest
+from zope.app.testing import functional
+from zope.testing import doctest, module
+from zope.publisher.browser import TestRequest
+from zope.app.testing.functional import ZCMLLayer
+
+ftesting_zcml = os.path.join(os.path.dirname(__file__), 'ftesting.zcml')
+FunctionalLayer = ZCMLLayer(
+    ftesting_zcml, __name__, 'FunctionalLayer', allow_teardown=True)
+
+
+def setUp(test):
+    module.setUp(test, 'megrok.resourceviewlet.ftests')
+
+def tearDown(test):
+    module.tearDown(test)
+
+def test_suite():
+    suite = unittest.TestSuite()      
+    readme = functional.FunctionalDocFileSuite(
+        '../README.txt', setUp=setUp, tearDown=tearDown)
+    readme.layer = FunctionalLayer
+    suite.addTest(readme)
+    return suite

Deleted: megrok.resourceviewlet/trunk/src/megrok/resourceviewlet/tests.py
===================================================================
--- megrok.resourceviewlet/trunk/src/megrok/resourceviewlet/tests.py	2009-12-24 00:43:07 UTC (rev 107032)
+++ megrok.resourceviewlet/trunk/src/megrok/resourceviewlet/tests.py	2009-12-24 01:21:23 UTC (rev 107033)
@@ -1,27 +0,0 @@
-# -*- coding: utf-8 -*-
-
-import os.path
-import unittest
-from zope.app.testing import functional
-from zope.testing import doctest, module
-from zope.publisher.browser import TestRequest
-from zope.app.testing.functional import ZCMLLayer
-
-ftesting_zcml = os.path.join(os.path.dirname(__file__), 'ftesting.zcml')
-FunctionalLayer = ZCMLLayer(
-    ftesting_zcml, __name__, 'FunctionalLayer', allow_teardown=True)
-
-
-def setUp(test):
-    module.setUp(test, 'megrok.resourceviewlet.tests')
-
-def tearDown(test):
-    module.tearDown(test)
-
-def test_suite():
-    suite = unittest.TestSuite()      
-    readme = functional.FunctionalDocFileSuite(
-        'README.txt', setUp=setUp, tearDown=tearDown)
-    readme.layer = FunctionalLayer
-    suite.addTest(readme)
-    return suite



More information about the checkins mailing list