[Zope3-checkins] CVS: Zope3/lib/python/Zope/App/ComponentArchitecture/tests - testInterfaceField.py:1.3 testInterfaceService.py:1.3
Jim Fulton
jim@zope.com
Thu, 19 Dec 2002 15:19:07 -0500
Update of /cvs-repository/Zope3/lib/python/Zope/App/ComponentArchitecture/tests
In directory cvs.zope.org:/tmp/cvs-serv25031/tests
Modified Files:
testInterfaceField.py testInterfaceService.py
Log Message:
date: 2002/12/12 15:12:00; author: jim
- Added an interface directive for registering interfaces directly
- Added a "type" field to interface fields to limit interfaces to
those that extend a type.
- Changed the provideInterface in the global InterfaceService to
accept a false id, in which case it computes the id from the
interface module and name.
- Updated the widget to reflect the changes.
=== Zope3/lib/python/Zope/App/ComponentArchitecture/tests/testInterfaceField.py 1.2 => 1.3 ===
--- Zope3/lib/python/Zope/App/ComponentArchitecture/tests/testInterfaceField.py:1.2 Wed Dec 4 04:54:06 2002
+++ Zope3/lib/python/Zope/App/ComponentArchitecture/tests/testInterfaceField.py Thu Dec 19 15:19:06 2002
@@ -17,22 +17,39 @@
"""
from unittest import TestCase, TestSuite, main, makeSuite
-import Interface
+from Interface import Interface
+import Interface as InterfaceModule
from Zope.App.ComponentArchitecture.InterfaceField import InterfaceField
from Zope.Schema.Exceptions import ValidationError
+
+
class Test(TestCase):
def test_validate(self):
field = InterfaceField()
- field.validate(Interface.Interface)
- class I(Interface.Interface): pass
+ field.validate(Interface)
+ class I(Interface): pass
field.validate(I)
- self.assertRaises(ValidationError, field.validate, Interface)
+ self.assertRaises(ValidationError, field.validate, InterfaceModule)
class I: pass
self.assertRaises(ValidationError, field.validate, I)
+
+ def test_validate_w_type(self):
+
+ class I1(Interface): pass
+ class I2(I1): pass
+ class I3(I2): pass
+
+ field = InterfaceField(type=I2)
+
+ field.validate(I2)
+ field.validate(I3)
+
+ self.assertRaises(ValidationError, field.validate, Interface)
+ self.assertRaises(ValidationError, field.validate, I1)
def test_suite():
return TestSuite((makeSuite(Test),))
=== Zope3/lib/python/Zope/App/ComponentArchitecture/tests/testInterfaceService.py 1.2 => 1.3 ===
--- Zope3/lib/python/Zope/App/ComponentArchitecture/tests/testInterfaceService.py:1.2 Tue Nov 19 18:15:14 2002
+++ Zope3/lib/python/Zope/App/ComponentArchitecture/tests/testInterfaceService.py Thu Dec 19 15:19:06 2002
@@ -11,15 +11,18 @@
import serviceManager, defineService
+class B(Interface):
+ pass
+
class I(Interface):
"""bah blah
"""
-class I2(Interface):
+class I2(B):
"""eek
"""
-class I3(Interface):
+class I3(B):
"""
"""
def one():
@@ -50,6 +53,7 @@
self.assertEqual(service.getInterface('Foo.Bar'), I)
self.assertEqual(service.queryInterface('Foo.Bar'), I)
self.assertEqual(list(service.searchInterface('')), [I])
+ self.assertEqual(list(service.searchInterface(base=B)), [])
service.provideInterface('Foo.Baz', I2)
@@ -65,6 +69,11 @@
service.provideInterface('Foo.Bus', I3)
self.assertEqual(list(service.searchInterface('two')), [I3])
+ self.assertEqual(list(service.searchInterface('two', base=B)), [I3])
+
+ r = list(service.searchInterface(base=B))
+ r.sort()
+ self.assertEqual(r, [I2, I3])
def test_suite():
return TestSuite((makeSuite(Test),))