[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