[Zope-Checkins] CVS: Zope3/lib/python/Interface/tests - testInterface.py:1.1.4.4

Jim Fulton jim@zope.com
Tue, 26 Mar 2002 16:26:23 -0500


Update of /cvs-repository/Zope3/lib/python/Interface/tests
In directory cvs.zope.org:/tmp/cvs-serv7731/Interface/tests

Modified Files:
      Tag: Zope-3x-branch
	testInterface.py 
Log Message:
Merged the publication refactoring branch into the main branch.

Also renamed:

  browser_reaverse -> publishTraverse

  browser_default -> browserDefault



=== Zope3/lib/python/Interface/tests/testInterface.py 1.1.4.3 => 1.1.4.4 ===
 from Interface.Implements import objectImplements
 from Interface import Interface
+from Interface.Attribute import Attribute
 
 class InterfaceTests(unittest.TestCase):
 
@@ -84,13 +85,13 @@
         names = list(_I2.names()); names.sort()
         self.assertEqual(names, ['f21', 'f22', 'f23'])
         names = list(_I2.names(1)); names.sort()
-        self.assertEqual(names, ['f11', 'f12', 'f21', 'f22', 'f23'])
+        self.assertEqual(names, ['a1', 'f11', 'f12', 'f21', 'f22', 'f23'])
 
     def test_namesAndDescriptions(self):
         names = [nd[0] for nd in _I2.namesAndDescriptions()]; names.sort()
         self.assertEqual(names, ['f21', 'f22', 'f23'])
         names = [nd[0] for nd in _I2.namesAndDescriptions(1)]; names.sort()
-        self.assertEqual(names, ['f11', 'f12', 'f21', 'f22', 'f23'])
+        self.assertEqual(names, ['a1', 'f11', 'f12', 'f21', 'f22', 'f23'])
 
         for name, d in _I2.namesAndDescriptions(1):
             self.assertEqual(name, d.__name__)
@@ -100,9 +101,17 @@
         self.assertEqual(_I2.getDescriptionFor('f22').__name__, 'f22')
         self.assertEqual(_I2.getDescriptionFor('f33', self), self)
         self.assertRaises(KeyError, _I2.getDescriptionFor, 'f33')
+
+    def testAttr(self):
+        description = _I2.getDescriptionFor('a1')
+        self.assertEqual(description.__name__, 'a1')
+        self.assertEqual(description.__doc__, 'This is an attribute')
     
 
 class _I1(Interface):
+
+    a1 = Attribute("This is an attribute")
+    
     def f11(): pass
     def f12(): pass