]> granicus.if.org Git - python/commitdiff
Test closed, mode attribute; don't test __exit__().
authorGuido van Rossum <guido@python.org>
Thu, 12 Apr 2007 14:51:49 +0000 (14:51 +0000)
committerGuido van Rossum <guido@python.org>
Thu, 12 Apr 2007 14:51:49 +0000 (14:51 +0000)
Lib/test/test_fileio.py

index aa708ce67dcd5c4686d07dcda2aa5d72ef50e4db..983fcb41bf147b221112b157c3341cfcea4c7730 100644 (file)
@@ -48,14 +48,14 @@ class AutoFileTests(unittest.TestCase):
     def testAttributes(self):
         # verify expected attributes exist
         f = self.f
-        # XXX do we want these?
-        #f.name     # merely shouldn't blow up
-        #f.mode     # ditto
-        #f.closed   # ditto
 
-        # verify the others aren't
-        for attr in 'name', 'mode', 'closed':
-            self.assertRaises((AttributeError, TypeError), setattr, f, attr, 'oops')
+        self.assertEquals(f.mode, "w")
+        self.assertEquals(f.closed, False)
+
+        # verify the attributes are readonly
+        for attr in 'mode', 'closed':
+            self.assertRaises((AttributeError, TypeError),
+                              setattr, f, attr, 'oops')
 
     def testReadinto(self):
         # verify readinto
@@ -74,12 +74,16 @@ class AutoFileTests(unittest.TestCase):
     def testErrors(self):
         f = self.f
         self.assert_(not f.isatty())
-        #self.assert_(not f.closed) # XXX Do we want to support these?
+        self.assert_(not f.closed)
         #self.assertEquals(f.name, TESTFN)
-
+        self.assertRaises(ValueError, f.read, 10) # Open for reading
+        f.close()
+        self.assert_(f.closed)
+        f = _fileio._FileIO(TESTFN, 'r')
         self.assertRaises(TypeError, f.readinto, "")
+        self.assert_(not f.closed)
         f.close()
-        #self.assert_(f.closed) # XXX
+        self.assert_(f.closed)
 
     def testMethods(self):
         methods = ['fileno', 'isatty', 'read', 'readinto',
@@ -88,23 +92,14 @@ class AutoFileTests(unittest.TestCase):
         if sys.platform.startswith('atheos'):
             methods.remove('truncate')
 
-        # __exit__ should close the file
-        self.f.__exit__(None, None, None)
-        #self.assert_(self.f.closed) # XXX
+        self.f.close()
+        self.assert_(self.f.closed)
 
         for methodname in methods:
             method = getattr(self.f, methodname)
             # should raise on closed file
             self.assertRaises(ValueError, method)
 
-        # file is closed, __exit__ shouldn't do anything
-        self.assertEquals(self.f.__exit__(None, None, None), None)
-        # it must also return None if an exception was given
-        try:
-            1/0
-        except:
-            self.assertEquals(self.f.__exit__(*sys.exc_info()), None)
-
 
 class OtherFileTests(unittest.TestCase):