[Checkins] SVN: Products.CMFDefault/trunk/Products/CMFDefault/ Correctly handle content which is not syndicatable. Tests no longer rely on private method for getting a SyndicationInfo adapter.
Charlie Clark
charlie at begeistert.org
Wed Oct 6 05:15:23 EDT 2010
Log message for revision 117274:
Correctly handle content which is not syndicatable. Tests no longer rely on private method for getting a SyndicationInfo adapter.
Changed:
U Products.CMFDefault/trunk/Products/CMFDefault/SyndicationTool.py
U Products.CMFDefault/trunk/Products/CMFDefault/tests/test_SyndicationTool.py
-=-
Modified: Products.CMFDefault/trunk/Products/CMFDefault/SyndicationTool.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/SyndicationTool.py 2010-10-06 08:16:06 UTC (rev 117273)
+++ Products.CMFDefault/trunk/Products/CMFDefault/SyndicationTool.py 2010-10-06 09:15:22 UTC (rev 117274)
@@ -223,7 +223,12 @@
particular obj is enabled, allowing for turning on only
specific folders for syndication.
"""
- info = self._syndication_info(obj)
+ if obj is None:
+ return self.isSiteSyndicationAllowed()
+ try:
+ info = self._syndication_info(obj)
+ except SyndicationError:
+ return False
return info.enabled
security.declarePublic('getSyndicationInfo')
Modified: Products.CMFDefault/trunk/Products/CMFDefault/tests/test_SyndicationTool.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/tests/test_SyndicationTool.py 2010-10-06 08:16:06 UTC (rev 117273)
+++ Products.CMFDefault/trunk/Products/CMFDefault/tests/test_SyndicationTool.py 2010-10-06 09:15:22 UTC (rev 117274)
@@ -17,7 +17,7 @@
import Testing
from DateTime.DateTime import DateTime
-from zope.component import getSiteManager
+from zope.component import getSiteManager, queryAdapter
from zope.interface import alsoProvides
from zope.interface.verify import verifyClass
from zope.testing.cleanup import cleanUp
@@ -146,17 +146,18 @@
def test_object_not_syndicatable(self):
from Products.CMFDefault.SyndicationTool import SyndicationError
tool = self._makeOne()
- self.assertRaises(SyndicationError, tool._syndication_info, Dummy)
+ self.assertFalse(tool.isSyndicationAllowed(Dummy))
def test_object_is_syndicatable(self):
+ from Products.CMFCore.interfaces import ISyndicationInfo
tool = self._makeOne()
context = self._makeContext()
- tool._syndication_info(context)
+ adapter = queryAdapter(context, ISyndicationInfo)
+ self.assertTrue(adapter is not None)
def test_object_syndication_is_disabled(self):
tool = self._makeOne()
context = self._makeContext()
- info = tool._syndication_info(context)
self.assertFalse(tool.isSyndicationAllowed(context))
def test_enable_object_syndication(self):
More information about the checkins
mailing list