[Checkins] SVN: CMF/trunk/CMF - refactored conformance tests

Yvo Schubbe y.2006_ at wcm-solutions.de
Mon May 29 10:19:26 EDT 2006


Log message for revision 68344:
  - refactored conformance tests
  - added basic SkinnedFolder tests
  - made sure SkinnedFolder implements IContentish

Changed:
  U   CMF/trunk/CMFCalendar/tests/test_Event.py
  A   CMF/trunk/CMFCore/testing.py
  U   CMF/trunk/CMFCore/tests/test_CMFBTreeFolder.py
  U   CMF/trunk/CMFCore/tests/test_PortalFolder.py
  U   CMF/trunk/CMFDefault/SkinnedFolder.py
  D   CMF/trunk/CMFDefault/tests/common.py
  U   CMF/trunk/CMFDefault/tests/test_Document.py
  U   CMF/trunk/CMFDefault/tests/test_Favorite.py
  U   CMF/trunk/CMFDefault/tests/test_File.py
  U   CMF/trunk/CMFDefault/tests/test_Image.py
  U   CMF/trunk/CMFDefault/tests/test_Link.py
  U   CMF/trunk/CMFDefault/tests/test_NewsItem.py
  A   CMF/trunk/CMFDefault/tests/test_SkinnedFolder.py
  U   CMF/trunk/CMFTopic/Topic.py
  U   CMF/trunk/CMFTopic/tests/test_Topic.py

-=-
Modified: CMF/trunk/CMFCalendar/tests/test_Event.py
===================================================================
--- CMF/trunk/CMFCalendar/tests/test_Event.py	2006-05-29 14:12:00 UTC (rev 68343)
+++ CMF/trunk/CMFCalendar/tests/test_Event.py	2006-05-29 14:19:25 UTC (rev 68344)
@@ -20,54 +20,27 @@
 
 from DateTime import DateTime
 
+from Products.CMFCore.testing import ConformsToContent
 from Products.CMFCore.tests.base.testcase import RequestTest
 
 
-class TestEvent(unittest.TestCase):
+class TestEvent(ConformsToContent, unittest.TestCase):
 
-    def _makeOne(self, id, *args, **kw):
+    def _getTargetClass(self):
         from Products.CMFCalendar.Event import Event
 
-        return Event(id, *args, **kw)
+        return Event
 
-    def test_z2interfaces(self):
-        from Interface.Verify import verifyClass
-        from Products.CMFCore.interfaces.Contentish \
-                import Contentish as IContentish
-        from Products.CMFCore.interfaces.DublinCore \
-                import CatalogableDublinCore as ICatalogableDublinCore
-        from Products.CMFCore.interfaces.DublinCore \
-                import DublinCore as IDublinCore
-        from Products.CMFCore.interfaces.DublinCore \
-                import MutableDublinCore as IMutableDublinCore
-        from Products.CMFCore.interfaces.Dynamic \
-                import DynamicType as IDynamicType
-        from Products.CMFCalendar.Event import Event
+    def _makeOne(self, *args, **kw):
+        return self._getTargetClass()(*args, **kw)
 
-        verifyClass(ICatalogableDublinCore, Event)
-        verifyClass(IContentish, Event)
-        verifyClass(IDublinCore, Event)
-        verifyClass(IDynamicType, Event)
-        verifyClass(IMutableDublinCore, Event)
-
     def test_z3interfaces(self):
         from zope.interface.verify import verifyClass
-        from Products.CMFCalendar.Event import Event
-        from Products.CMFCore.interfaces import ICatalogableDublinCore
-        from Products.CMFCore.interfaces import IContentish
-        from Products.CMFCore.interfaces import IDublinCore
-        from Products.CMFCore.interfaces import IDynamicType
-        from Products.CMFCore.interfaces import IMutableDublinCore
         from Products.CMFCalendar.interfaces import IEvent
         from Products.CMFCalendar.interfaces import IMutableEvent
 
-        verifyClass(ICatalogableDublinCore, Event)
-        verifyClass(IContentish, Event)
-        verifyClass(IDublinCore, Event)
-        verifyClass(IDynamicType, Event)
-        verifyClass(IMutableDublinCore, Event)
-        verifyClass(IEvent, Event)
-        verifyClass(IMutableEvent, Event)
+        verifyClass(IEvent, self._getTargetClass())
+        verifyClass(IMutableEvent, self._getTargetClass())
 
     def test_new(self):
         event = self._makeOne('test')

Copied: CMF/trunk/CMFCore/testing.py (from rev 68272, CMF/trunk/CMFDefault/tests/common.py)
===================================================================
--- CMF/trunk/CMFDefault/tests/common.py	2006-05-25 07:22:05 UTC (rev 68272)
+++ CMF/trunk/CMFCore/testing.py	2006-05-29 14:19:25 UTC (rev 68344)
@@ -0,0 +1,80 @@
+##############################################################################
+#
+# Copyright (c) 2005 Zope Corporation and Contributors. All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+""" Unit tests mixin classes.
+
+$Id$
+"""
+
+class ConformsToFolder:
+
+    def test_folder_z2interfaces(self):
+        from Interface.Verify import verifyClass
+        from webdav.WriteLockInterface import WriteLockInterface
+        from Products.CMFCore.interfaces.Dynamic \
+                import DynamicType as IDynamicType
+        from Products.CMFCore.interfaces.Folderish \
+                import Folderish as IFolderish
+
+        verifyClass(IDynamicType, self._getTargetClass())
+        verifyClass(IFolderish, self._getTargetClass())
+        verifyClass(WriteLockInterface, self._getTargetClass())
+
+    def test_folder_z3interfaces(self):
+        from zope.interface.verify import verifyClass
+        from webdav.interfaces import IWriteLock
+        from Products.CMFCore.interfaces import IDynamicType
+        from Products.CMFCore.interfaces import IFolderish
+        from Products.CMFCore.interfaces import IMutableMinimalDublinCore
+
+        verifyClass(IDynamicType, self._getTargetClass())
+        verifyClass(IFolderish, self._getTargetClass())
+        verifyClass(IMutableMinimalDublinCore, self._getTargetClass())
+        verifyClass(IWriteLock, self._getTargetClass())
+
+
+class ConformsToContent:
+
+    def test_content_z2interfaces(self):
+        from Interface.Verify import verifyClass
+        from Products.CMFCore.interfaces.Contentish \
+                import Contentish as IContentish
+        from Products.CMFCore.interfaces.DublinCore \
+                import CatalogableDublinCore as ICatalogableDublinCore
+        from Products.CMFCore.interfaces.DublinCore \
+                import DublinCore as IDublinCore
+        from Products.CMFCore.interfaces.DublinCore \
+                import MutableDublinCore as IMutableDublinCore
+        from Products.CMFCore.interfaces.Dynamic \
+                import DynamicType as IDynamicType
+
+        verifyClass(ICatalogableDublinCore, self._getTargetClass())
+        verifyClass(IContentish, self._getTargetClass())
+        verifyClass(IDublinCore, self._getTargetClass())
+        verifyClass(IDynamicType, self._getTargetClass())
+        verifyClass(IMutableDublinCore, self._getTargetClass())
+
+    def test_content_z3interfaces(self):
+        from zope.interface.verify import verifyClass
+        from Products.CMFCore.interfaces import ICatalogableDublinCore
+        from Products.CMFCore.interfaces import IContentish
+        from Products.CMFCore.interfaces import IDublinCore
+        from Products.CMFCore.interfaces import IDynamicType
+        from Products.CMFCore.interfaces import IMutableDublinCore
+        from Products.GenericSetup.interfaces import IDAVAware
+
+        verifyClass(ICatalogableDublinCore, self._getTargetClass())
+        verifyClass(IContentish, self._getTargetClass())
+        verifyClass(IDAVAware, self._getTargetClass())
+        verifyClass(IDublinCore, self._getTargetClass())
+        verifyClass(IDynamicType, self._getTargetClass())
+        verifyClass(IMutableDublinCore, self._getTargetClass())

Modified: CMF/trunk/CMFCore/tests/test_CMFBTreeFolder.py
===================================================================
--- CMF/trunk/CMFCore/tests/test_CMFBTreeFolder.py	2006-05-29 14:12:00 UTC (rev 68343)
+++ CMF/trunk/CMFCore/tests/test_CMFBTreeFolder.py	2006-05-29 14:19:25 UTC (rev 68344)
@@ -10,7 +10,7 @@
 # FOR A PARTICULAR PURPOSE.
 #
 ##############################################################################
-""" Unit test for CMFBTreeFolder
+""" Unit tests for CMFBTreeFolder module.
 
 $Id$
 """
@@ -20,25 +20,24 @@
 import Zope2
 Zope2.startup()
 
+from Products.CMFCore.testing import ConformsToFolder
 
-class CMFBTreeFolderTests(unittest.TestCase):
 
-    def _getTargetClass(self):
+class CMFBTreeFolderTests(ConformsToFolder, unittest.TestCase):
 
+    def _getTargetClass(self):
         from Products.CMFCore.CMFBTreeFolder import CMFBTreeFolder
+
         return CMFBTreeFolder
 
-    def _makeOne( self, id='test', *args, **kw ):
+    def _makeOne(self, *args, **kw):
+        return self._getTargetClass()(*args, **kw)
 
-        return self._getTargetClass()( id, *args, **kw )
-
     def test_empty( self ):
-
-        empty = self._makeOne()
+        empty = self._makeOne('test')
         self.assertEqual( len( empty.objectIds() ), 0 )
 
     def test___module_aliases__( self ):
-
         from Products.BTreeFolder2.CMFBTreeFolder \
             import CMFBTreeFolder as BBB
 

Modified: CMF/trunk/CMFCore/tests/test_PortalFolder.py
===================================================================
--- CMF/trunk/CMFCore/tests/test_PortalFolder.py	2006-05-29 14:12:00 UTC (rev 68343)
+++ CMF/trunk/CMFCore/tests/test_PortalFolder.py	2006-05-29 14:19:25 UTC (rev 68344)
@@ -34,6 +34,7 @@
 
 from Products.CMFCore.CatalogTool import CatalogTool
 from Products.CMFCore.exceptions import BadRequest
+from Products.CMFCore.testing import ConformsToFolder
 from Products.CMFCore.tests.base.dummy import DummyContent
 from Products.CMFCore.tests.base.dummy import DummyFactory
 from Products.CMFCore.tests.base.dummy import DummySite
@@ -119,17 +120,8 @@
                          , type_name='Dummy Content', id='foo' )
 
 
-class PortalFolderTests(SecurityTest):
+class PortalFolderTests(ConformsToFolder, SecurityTest):
 
-    def setUp(self):
-        SecurityTest.setUp(self)
-        setUpEvents()
-        self.site = DummySite('site').__of__(self.root)
-
-    def tearDown(self):
-        SecurityTest.tearDown(self)
-        cleanUp()
-
     def _getTargetClass(self):
         from Products.CMFCore.PortalFolder import PortalFolder
 
@@ -139,29 +131,26 @@
         return self.site._setObject(id,
                                     self._getTargetClass()(id, *args, **kw))
 
+    def setUp(self):
+        SecurityTest.setUp(self)
+        setUpEvents()
+        self.site = DummySite('site').__of__(self.root)
+
+    def tearDown(self):
+        SecurityTest.tearDown(self)
+        cleanUp()
+
     def test_z2interfaces(self):
         from Interface.Verify import verifyClass
         from OFS.IOrderSupport import IOrderedContainer
-        from webdav.WriteLockInterface import WriteLockInterface
-        from Products.CMFCore.interfaces.Dynamic \
-                import DynamicType as IDynamicType
-        from Products.CMFCore.interfaces.Folderish \
-                import Folderish as IFolderish
 
-        verifyClass(IDynamicType, self._getTargetClass())
-        verifyClass(IFolderish, self._getTargetClass())
         verifyClass(IOrderedContainer, self._getTargetClass())
-        verifyClass(WriteLockInterface, self._getTargetClass())
 
     def test_z3interfaces(self):
         from zope.interface.verify import verifyClass
-        from Products.CMFCore.interfaces import IDynamicType
-        from Products.CMFCore.interfaces import IFolderish
-        from Products.CMFCore.interfaces import IMutableMinimalDublinCore
+        from OFS.interfaces import IOrderedContainer
 
-        verifyClass(IDynamicType, self._getTargetClass())
-        verifyClass(IFolderish, self._getTargetClass())
-        verifyClass(IMutableMinimalDublinCore, self._getTargetClass())
+        verifyClass(IOrderedContainer, self._getTargetClass())
 
     def test_contents_methods(self):
         ttool = self.site._setObject( 'portal_types', TypesTool() )

Modified: CMF/trunk/CMFDefault/SkinnedFolder.py
===================================================================
--- CMF/trunk/CMFDefault/SkinnedFolder.py	2006-05-29 14:12:00 UTC (rev 68343)
+++ CMF/trunk/CMFDefault/SkinnedFolder.py	2006-05-29 14:19:25 UTC (rev 68344)
@@ -62,6 +62,18 @@
 
     # We derive from CMFCatalogAware first, so we are cataloged too.
 
+    #
+    #   IContentish method
+    #
+
+    security.declareProtected(View, 'SearchableText')
+    def SearchableText(self):
+        """
+        SeachableText is used for full text seraches of a portal.  It
+        should return a concatenation of all useful text.
+        """
+        return "%s %s" % (self.title, self.description)
+
 InitializeClass(SkinnedFolder)
 
 

Deleted: CMF/trunk/CMFDefault/tests/common.py
===================================================================
--- CMF/trunk/CMFDefault/tests/common.py	2006-05-29 14:12:00 UTC (rev 68343)
+++ CMF/trunk/CMFDefault/tests/common.py	2006-05-29 14:19:25 UTC (rev 68344)
@@ -1,53 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2005 Zope Corporation and Contributors. All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-""" Unit tests mixin classes.
-
-$Id$
-"""
-
-class ConformsToContent:
-
-    def test_content_z2interfaces(self):
-        from Interface.Verify import verifyClass
-        from Products.CMFCore.interfaces.Contentish \
-                import Contentish as IContentish
-        from Products.CMFCore.interfaces.DublinCore \
-                import CatalogableDublinCore as ICatalogableDublinCore
-        from Products.CMFCore.interfaces.DublinCore \
-                import DublinCore as IDublinCore
-        from Products.CMFCore.interfaces.DublinCore \
-                import MutableDublinCore as IMutableDublinCore
-        from Products.CMFCore.interfaces.Dynamic \
-                import DynamicType as IDynamicType
-
-        verifyClass(ICatalogableDublinCore, self._getTargetClass())
-        verifyClass(IContentish, self._getTargetClass())
-        verifyClass(IDublinCore, self._getTargetClass())
-        verifyClass(IDynamicType, self._getTargetClass())
-        verifyClass(IMutableDublinCore, self._getTargetClass())
-
-    def test_content_z3interfaces(self):
-        from zope.interface.verify import verifyClass
-        from Products.CMFCore.interfaces import ICatalogableDublinCore
-        from Products.CMFCore.interfaces import IContentish
-        from Products.CMFCore.interfaces import IDublinCore
-        from Products.CMFCore.interfaces import IDynamicType
-        from Products.CMFCore.interfaces import IMutableDublinCore
-        from Products.GenericSetup.interfaces import IDAVAware
-
-        verifyClass(ICatalogableDublinCore, self._getTargetClass())
-        verifyClass(IContentish, self._getTargetClass())
-        verifyClass(IDAVAware, self._getTargetClass())
-        verifyClass(IDublinCore, self._getTargetClass())
-        verifyClass(IDynamicType, self._getTargetClass())
-        verifyClass(IMutableDublinCore, self._getTargetClass())

Modified: CMF/trunk/CMFDefault/tests/test_Document.py
===================================================================
--- CMF/trunk/CMFDefault/tests/test_Document.py	2006-05-29 14:12:00 UTC (rev 68343)
+++ CMF/trunk/CMFDefault/tests/test_Document.py	2006-05-29 14:19:25 UTC (rev 68344)
@@ -27,6 +27,7 @@
 from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate
 from DocumentTemplate.DT_Util import html_quote
 
+from Products.CMFCore.testing import ConformsToContent
 from Products.CMFCore.tests.base.content import BASIC_HTML
 from Products.CMFCore.tests.base.content import BASIC_STRUCTUREDTEXT
 from Products.CMFCore.tests.base.content import DOCTYPE
@@ -46,9 +47,7 @@
 from Products.CMFCore.TypesTool import TypesTool
 from Products.CMFDefault import utils
 
-from common import ConformsToContent
 
-
 class RequestTestBase(RequestTest):
 
     def _getTargetClass(self):

Modified: CMF/trunk/CMFDefault/tests/test_Favorite.py
===================================================================
--- CMF/trunk/CMFDefault/tests/test_Favorite.py	2006-05-29 14:12:00 UTC (rev 68343)
+++ CMF/trunk/CMFDefault/tests/test_Favorite.py	2006-05-29 14:19:25 UTC (rev 68344)
@@ -18,12 +18,11 @@
 import unittest
 import Testing
 
+from Products.CMFCore.testing import ConformsToContent
 from Products.CMFCore.tests.base.dummy import DummySite
 from Products.CMFCore.tests.base.dummy import DummyTool
 
-from common import ConformsToContent
 
-
 class FavoriteTests(ConformsToContent, unittest.TestCase):
 
     def _getTargetClass(self):

Modified: CMF/trunk/CMFDefault/tests/test_File.py
===================================================================
--- CMF/trunk/CMFDefault/tests/test_File.py	2006-05-29 14:12:00 UTC (rev 68343)
+++ CMF/trunk/CMFDefault/tests/test_File.py	2006-05-29 14:19:25 UTC (rev 68344)
@@ -20,10 +20,9 @@
 
 from os.path import join as path_join
 
+from Products.CMFCore.testing import ConformsToContent
 from Products.CMFDefault import tests
 
-from common import ConformsToContent
-
 TESTS_HOME = tests.__path__[0]
 TEST_JPG = path_join(TESTS_HOME, 'TestImage.jpg')
 

Modified: CMF/trunk/CMFDefault/tests/test_Image.py
===================================================================
--- CMF/trunk/CMFDefault/tests/test_Image.py	2006-05-29 14:12:00 UTC (rev 68343)
+++ CMF/trunk/CMFDefault/tests/test_Image.py	2006-05-29 14:19:25 UTC (rev 68344)
@@ -28,6 +28,7 @@
 from Products.Five import zcml
 from zope.testing.cleanup import cleanUp
 
+from Products.CMFCore.testing import ConformsToContent
 from Products.CMFCore.tests.base.dummy import DummySite
 from Products.CMFCore.tests.base.dummy import DummyTool
 from Products.CMFCore.tests.base.security import OmnipotentUser
@@ -36,8 +37,6 @@
 from Products.CMFCore.tests.base.testcase import setUpTraversing
 from Products.CMFDefault import tests
 
-from common import ConformsToContent
-
 TESTS_HOME = tests.__path__[0]
 TEST_JPG = path_join(TESTS_HOME, 'TestImage.jpg')
 

Modified: CMF/trunk/CMFDefault/tests/test_Link.py
===================================================================
--- CMF/trunk/CMFDefault/tests/test_Link.py	2006-05-29 14:12:00 UTC (rev 68343)
+++ CMF/trunk/CMFDefault/tests/test_Link.py	2006-05-29 14:19:25 UTC (rev 68344)
@@ -20,12 +20,11 @@
 
 from re import compile
 
+from Products.CMFCore.testing import ConformsToContent
 from Products.CMFCore.tests.base.content import BASIC_RFC822
 from Products.CMFCore.tests.base.content import RFC822_W_CONTINUATION
 
-from common import ConformsToContent
 
-
 class LinkTests(ConformsToContent, unittest.TestCase):
 
     def _getTargetClass(self):

Modified: CMF/trunk/CMFDefault/tests/test_NewsItem.py
===================================================================
--- CMF/trunk/CMFDefault/tests/test_NewsItem.py	2006-05-29 14:12:00 UTC (rev 68343)
+++ CMF/trunk/CMFDefault/tests/test_NewsItem.py	2006-05-29 14:19:25 UTC (rev 68344)
@@ -18,15 +18,14 @@
 import unittest
 import Testing
 
+from Products.CMFCore.testing import ConformsToContent
 from Products.CMFCore.tests.base.content import BASIC_HTML
 from Products.CMFCore.tests.base.content import BASIC_STRUCTUREDTEXT
 from Products.CMFCore.tests.base.content import DOCTYPE
 from Products.CMFCore.tests.base.content import ENTITY_IN_TITLE
 from Products.CMFCore.tests.base.testcase import RequestTest
 
-from common import ConformsToContent
 
-
 class NewsItemTests(ConformsToContent, unittest.TestCase):
 
     def _getTargetClass(self):

Added: CMF/trunk/CMFDefault/tests/test_SkinnedFolder.py
===================================================================
--- CMF/trunk/CMFDefault/tests/test_SkinnedFolder.py	2006-05-29 14:12:00 UTC (rev 68343)
+++ CMF/trunk/CMFDefault/tests/test_SkinnedFolder.py	2006-05-29 14:19:25 UTC (rev 68344)
@@ -0,0 +1,52 @@
+##############################################################################
+#
+# Copyright (c) 2006 Zope Corporation and Contributors. All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+""" Unit tests for SkinnedFolder module.
+
+$Id$
+"""
+
+import unittest
+import Testing
+
+from Products.CMFCore.testing import ConformsToFolder
+
+
+class SkinnedFolderTests(ConformsToFolder, unittest.TestCase):
+
+    def _getTargetClass(self):
+        from Products.CMFDefault.SkinnedFolder import SkinnedFolder
+
+        return SkinnedFolder
+
+    def test_z2interfaces(self):
+        from Interface.Verify import verifyClass
+        from OFS.IOrderSupport import IOrderedContainer
+
+        verifyClass(IOrderedContainer, self._getTargetClass())
+
+    def test_z3interfaces(self):
+        from zope.interface.verify import verifyClass
+        from OFS.interfaces import IOrderedContainer
+        from Products.CMFCore.interfaces import IContentish
+
+        verifyClass(IContentish, self._getTargetClass())
+        verifyClass(IOrderedContainer, self._getTargetClass())
+
+
+def test_suite():
+    return unittest.TestSuite((
+        unittest.makeSuite(SkinnedFolderTests),
+        ))
+
+if __name__ == '__main__':
+    unittest.main(defaultTest='test_suite')


Property changes on: CMF/trunk/CMFDefault/tests/test_SkinnedFolder.py
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Modified: CMF/trunk/CMFTopic/Topic.py
===================================================================
--- CMF/trunk/CMFTopic/Topic.py	2006-05-29 14:12:00 UTC (rev 68343)
+++ CMF/trunk/CMFTopic/Topic.py	2006-05-29 14:19:25 UTC (rev 68344)
@@ -215,15 +215,4 @@
 
         return tuple( result )
 
-    #
-    #   Cataloging helper to make finding this item easier
-    #
-    security.declareProtected(View, 'SearchableText')
-    def SearchableText(self):
-        """
-        SeachableText is used for full text seraches of a portal.  It
-        should return a concatenation of all useful text.
-        """
-        return "%s %s" % (self.title, self.description)
-
 InitializeClass(Topic)

Modified: CMF/trunk/CMFTopic/tests/test_Topic.py
===================================================================
--- CMF/trunk/CMFTopic/tests/test_Topic.py	2006-05-29 14:12:00 UTC (rev 68343)
+++ CMF/trunk/CMFTopic/tests/test_Topic.py	2006-05-29 14:19:25 UTC (rev 68344)
@@ -21,6 +21,7 @@
 from Acquisition import Implicit
 from zope.testing.cleanup import cleanUp
 
+from Products.CMFCore.testing import ConformsToFolder
 from Products.CMFCore.tests.base.dummy import DummySite
 from Products.CMFCore.tests.base.testcase import SecurityTest
 from Products.CMFCore.tests.base.testcase import setUpEvents
@@ -120,20 +121,11 @@
         return self._max_items
 
 
-class TestTopic(SecurityTest):
+class TestTopic(ConformsToFolder, SecurityTest):
 
     """ Test all the general Topic cases.
     """
 
-    def setUp(self):
-        SecurityTest.setUp(self)
-        setUpEvents()
-        self.site = DummySite('site').__of__(self.root)
-
-    def tearDown(self):
-        SecurityTest.tearDown(self)
-        cleanUp()
-
     def _getTargetClass(self):
         from Products.CMFTopic.Topic import Topic
 
@@ -156,33 +148,32 @@
             self.site._setObject( k, v )
             self.site.portal_catalog._index( document )
 
+    def setUp(self):
+        SecurityTest.setUp(self)
+        setUpEvents()
+        self.site = DummySite('site').__of__(self.root)
+
+    def tearDown(self):
+        SecurityTest.tearDown(self)
+        cleanUp()
+
     def test_z2interfaces(self):
         from Interface.Verify import verifyClass
         from OFS.IOrderSupport import IOrderedContainer
-        from webdav.WriteLockInterface import WriteLockInterface
-        from Products.CMFCore.interfaces.Dynamic \
-                import DynamicType as IDynamicType
-        from Products.CMFCore.interfaces.Folderish \
-                import Folderish as IFolderish
 
-        verifyClass(IDynamicType, self._getTargetClass())
-        verifyClass(IFolderish, self._getTargetClass())
         verifyClass(IOrderedContainer, self._getTargetClass())
-        verifyClass(WriteLockInterface, self._getTargetClass())
 
     def test_z3interfaces(self):
         from zope.interface.verify import verifyClass
-        from Products.CMFCore.interfaces import IDynamicType
-        from Products.CMFCore.interfaces import IFolderish
-        from Products.CMFCore.interfaces import IMutableMinimalDublinCore
+        from OFS.interfaces import IOrderedContainer
+        from Products.CMFCore.interfaces import IContentish
         from Products.CMFTopic.interfaces import IMutableTopic
         from Products.CMFTopic.interfaces import ITopic
 
-        verifyClass(IDynamicType, self._getTargetClass())
-        verifyClass(IFolderish, self._getTargetClass())
-        verifyClass(IMutableMinimalDublinCore, self._getTargetClass())
+        verifyClass(IContentish, self._getTargetClass())
         verifyClass(IMutableTopic, self._getTargetClass())
         verifyClass(ITopic, self._getTargetClass())
+        verifyClass(IOrderedContainer, self._getTargetClass())
 
     def test_Empty( self ):
         topic = self._makeOne('top')



More information about the Checkins mailing list