Merged revisions 72425-72426 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r72425 | r.david.murray | 2009-05-07 12:27:02 -0400 (Thu, 07 May 2009) | 3 lines Issue5955: aifc's close method did not close the file it wrapped, now it does. This also means getfp method now returns the real fp. ........ r72426 | r.david.murray | 2009-05-07 12:29:19 -0400 (Thu, 07 May 2009) | 3 lines News item for Issue5955. ........
This commit is contained in:
parent
865e01ab3e
commit
993527485e
|
@ -281,10 +281,11 @@ class Aifc_read:
|
|||
self._convert = None
|
||||
self._markers = []
|
||||
self._soundpos = 0
|
||||
self._file = Chunk(file)
|
||||
if self._file.getname() != b'FORM':
|
||||
self._file = file
|
||||
chunk = Chunk(file)
|
||||
if chunk.getname() != b'FORM':
|
||||
raise Error('file does not start with FORM id')
|
||||
formdata = self._file.read(4)
|
||||
formdata = chunk.read(4)
|
||||
if formdata == b'AIFF':
|
||||
self._aifc = 0
|
||||
elif formdata == b'AIFC':
|
||||
|
|
|
@ -94,6 +94,21 @@ class AIFCTest(unittest.TestCase):
|
|||
# XXX: this test fails, not sure if it should succeed or not
|
||||
# self.assertEqual(f.readframes(5), fout.readframes(5))
|
||||
|
||||
def test_close(self):
|
||||
class Wrapfile(object):
|
||||
def __init__(self, file):
|
||||
self.file = open(file, 'rb')
|
||||
self.closed = False
|
||||
def close(self):
|
||||
self.file.close()
|
||||
self.closed = True
|
||||
def __getattr__(self, attr): return getattr(self.file, attr)
|
||||
testfile = Wrapfile(self.sndfilepath)
|
||||
f = self.f = aifc.open(testfile)
|
||||
self.assertEqual(testfile.closed, False)
|
||||
f.close()
|
||||
self.assertEqual(testfile.closed, True)
|
||||
|
||||
|
||||
def test_main():
|
||||
run_unittest(AIFCTest)
|
||||
|
|
Loading…
Reference in New Issue