[Checkins] SVN: Sandbox/nadako/zope.browserresource/src/zope/browserresource/ Add tests for pluggable resource factory mechanism.
Dan Korostelev
nadako at gmail.com
Mon Aug 24 07:20:45 EDT 2009
Log message for revision 103136:
Add tests for pluggable resource factory mechanism.
Cleanup test code a little.
Use file instead of image in the icon directive.
Changed:
U Sandbox/nadako/zope.browserresource/src/zope/browserresource/metaconfigure.py
U Sandbox/nadako/zope.browserresource/src/zope/browserresource/tests/test_directives.py
U Sandbox/nadako/zope.browserresource/src/zope/browserresource/tests/test_directory.py
U Sandbox/nadako/zope.browserresource/src/zope/browserresource/tests/test_icondirective.py
D Sandbox/nadako/zope.browserresource/src/zope/browserresource/tests/testfiles/png
-=-
Modified: Sandbox/nadako/zope.browserresource/src/zope/browserresource/metaconfigure.py
===================================================================
--- Sandbox/nadako/zope.browserresource/src/zope/browserresource/metaconfigure.py 2009-08-24 11:00:40 UTC (rev 103135)
+++ Sandbox/nadako/zope.browserresource/src/zope/browserresource/metaconfigure.py 2009-08-24 11:20:44 UTC (rev 103136)
@@ -150,7 +150,7 @@
# give this module another name, so we can use the "resource" directive
# in it that won't conflict with our local variable with the same name.
from zope.browserresource import metaconfigure
- metaconfigure.resource(_context, image=file, name=resource, layer=layer)
+ metaconfigure.resource(_context, file=file, name=resource, layer=layer)
elif resource is None:
raise ConfigurationError(
"At least one of the file, and resource "
Modified: Sandbox/nadako/zope.browserresource/src/zope/browserresource/tests/test_directives.py
===================================================================
--- Sandbox/nadako/zope.browserresource/src/zope/browserresource/tests/test_directives.py 2009-08-24 11:00:40 UTC (rev 103135)
+++ Sandbox/nadako/zope.browserresource/src/zope/browserresource/tests/test_directives.py 2009-08-24 11:20:44 UTC (rev 103136)
@@ -16,7 +16,6 @@
$Id$
"""
-import sys
import os
import unittest
from cStringIO import StringIO
@@ -35,7 +34,6 @@
from zope.security.proxy import removeSecurityProxy, ProxyFactory
from zope.security.permission import Permission
from zope.security.interfaces import IPermission
-from zope.testing.doctestunit import DocTestSuite
from zope.traversing.adapters import DefaultTraversable
from zope.traversing.interfaces import ITraversable
@@ -193,6 +191,34 @@
self.assertEqual(r._testData(), open(path, 'rb').read())
+ def testPluggableFactory(self):
+
+ class ImageResource(object):
+ def __init__(self, image, request):
+ pass
+
+ class ImageResourceFactory(object):
+ def __init__(self, path, checker, name):
+ pass
+ def __call__(self, request):
+ return ImageResource(None, request)
+
+ from zope.browserresource.interfaces import IResourceFactoryFactory
+ component.provideUtility(ImageResourceFactory, IResourceFactoryFactory,
+ name='gif')
+
+ xmlconfig(StringIO(template %
+ '''
+ <browser:resource
+ name="test.gif"
+ file="%s"
+ />
+ ''' % os.path.join(tests_path, 'testfiles', 'test.gif')
+ ))
+
+ r = component.getAdapter(request, name='test.gif')
+ self.assertTrue(isinstance(r, ImageResource))
+
def testSkinResource(self):
self.assertEqual(component.queryAdapter(request, name='test'), None)
@@ -215,9 +241,4 @@
self.assertEqual(r._testData(), open(path, 'rb').read())
def test_suite():
- return unittest.TestSuite((
- unittest.makeSuite(Test),
- DocTestSuite('zope.browserresource.metaconfigure',
- setUp=cleanup.setUp,
- tearDown=cleanup.tearDown)
- ))
+ return unittest.makeSuite(Test)
Modified: Sandbox/nadako/zope.browserresource/src/zope/browserresource/tests/test_directory.py
===================================================================
--- Sandbox/nadako/zope.browserresource/src/zope/browserresource/tests/test_directory.py 2009-08-24 11:00:40 UTC (rev 103135)
+++ Sandbox/nadako/zope.browserresource/src/zope/browserresource/tests/test_directory.py 2009-08-24 11:20:44 UTC (rev 103136)
@@ -27,7 +27,7 @@
from zope.location.interfaces import IContained
from zope.traversing.browser.absoluteurl import AbsoluteURL
from zope.traversing.browser.interfaces import IAbsoluteURL
-from zope.component import provideAdapter
+from zope.component import provideAdapter, provideUtility
from zope.testing import cleanup
@@ -116,17 +116,29 @@
self.assertEquals(file(),
'http://127.0.0.1/@@/test_files/subdir/test.gif')
- def testCorrectFactories(self):
+ def testPluggableFactories(self):
path = os.path.join(test_directory, 'testfiles')
request = TestRequest()
resource = DirectoryResourceFactory(path, checker, 'files')(request)
+ class ImageResource(object):
+ def __init__(self, image, request):
+ pass
+
+ class ImageResourceFactory(object):
+ def __init__(self, path, checker, name):
+ pass
+ def __call__(self, request):
+ return ImageResource(None, request)
+
+ from zope.browserresource.interfaces import IResourceFactoryFactory
+ provideUtility(ImageResourceFactory, IResourceFactoryFactory, 'gif')
+
image = resource['test.gif']
- self.assert_(proxy.isinstance(image, FileResource))
+ self.assert_(proxy.isinstance(image, ImageResource))
+
file = resource['test.txt']
self.assert_(proxy.isinstance(file, FileResource))
- file = resource['png']
- self.assert_(proxy.isinstance(file, FileResource))
def test_suite():
return makeSuite(Test)
Modified: Sandbox/nadako/zope.browserresource/src/zope/browserresource/tests/test_icondirective.py
===================================================================
--- Sandbox/nadako/zope.browserresource/src/zope/browserresource/tests/test_icondirective.py 2009-08-24 11:00:40 UTC (rev 103135)
+++ Sandbox/nadako/zope.browserresource/src/zope/browserresource/tests/test_icondirective.py 2009-08-24 11:20:44 UTC (rev 103136)
@@ -153,7 +153,7 @@
xmlconfig(StringIO(template % (
'''
<browser:resource name="zmi_icon_res"
- image="%s" />
+ file="%s" />
<browser:icon name="zmi_icon"
for="zope.component.testfiles.views.IC"
resource="zmi_icon_res" />
@@ -185,7 +185,7 @@
config = StringIO(template % (
'''
<browser:resource name="zmi_icon_res"
- image="%s" />
+ file="%s" />
<browser:icon name="zmi_icon"
for="zope.component.testfiles.views.IC"
file="%s"
Deleted: Sandbox/nadako/zope.browserresource/src/zope/browserresource/tests/testfiles/png
===================================================================
--- Sandbox/nadako/zope.browserresource/src/zope/browserresource/tests/testfiles/png 2009-08-24 11:00:40 UTC (rev 103135)
+++ Sandbox/nadako/zope.browserresource/src/zope/browserresource/tests/testfiles/png 2009-08-24 11:20:44 UTC (rev 103136)
@@ -1,2 +0,0 @@
-test
-data
More information about the Checkins
mailing list