equal
deleted
inserted
replaced
94 f.write(b'foobar\n') |
94 f.write(b'foobar\n') |
95 file = atomictempfile(self._filename, mode='rb') |
95 file = atomictempfile(self._filename, mode='rb') |
96 self.assertTrue(file.read(), b'foobar\n') |
96 self.assertTrue(file.read(), b'foobar\n') |
97 file.discard() |
97 file.discard() |
98 |
98 |
|
99 def testcontextmanagersuccess(self): |
|
100 """When the context closes, the file is closed""" |
|
101 with atomictempfile('foo') as f: |
|
102 self.assertFalse(os.path.isfile('foo')) |
|
103 f.write(b'argh\n') |
|
104 self.assertTrue(os.path.isfile('foo')) |
|
105 |
|
106 def testcontextmanagerfailure(self): |
|
107 """On exception, the file is discarded""" |
|
108 try: |
|
109 with atomictempfile('foo') as f: |
|
110 self.assertFalse(os.path.isfile('foo')) |
|
111 f.write(b'argh\n') |
|
112 raise ValueError |
|
113 except ValueError: |
|
114 pass |
|
115 self.assertFalse(os.path.isfile('foo')) |
|
116 |
99 if __name__ == '__main__': |
117 if __name__ == '__main__': |
100 import silenttestrunner |
118 import silenttestrunner |
101 silenttestrunner.main(__name__) |
119 silenttestrunner.main(__name__) |