]> granicus.if.org Git - python/commitdiff
Test file.__exit__.
authorGeorg Brandl <georg@python.org>
Fri, 9 Jun 2006 18:29:52 +0000 (18:29 +0000)
committerGeorg Brandl <georg@python.org>
Fri, 9 Jun 2006 18:29:52 +0000 (18:29 +0000)
Lib/test/test_file.py

index 4698936827e720c8d9d19900d59f18a5ede9f937..73cb5b2412780a695befde5047cf61e7719d85f6 100644 (file)
@@ -98,7 +98,9 @@ class AutoFileTests(unittest.TestCase):
         if sys.platform.startswith('atheos'):
             methods.remove('truncate')
 
-        self.f.close()
+        # __exit__ should close the file
+        self.f.__exit__(None, None, None)
+        self.assert_(self.f.closed)
 
         for methodname in methods:
             method = getattr(self.f, methodname)
@@ -106,6 +108,14 @@ class AutoFileTests(unittest.TestCase):
             self.assertRaises(ValueError, method)
         self.assertRaises(ValueError, self.f.writelines, [])
 
+        # 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):