Kaydet (Commit) 99352748 authored tarafından R. David Murray's avatar R. David Murray

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.
........
üst 865e01ab
...@@ -281,10 +281,11 @@ class Aifc_read: ...@@ -281,10 +281,11 @@ class Aifc_read:
self._convert = None self._convert = None
self._markers = [] self._markers = []
self._soundpos = 0 self._soundpos = 0
self._file = Chunk(file) self._file = file
if self._file.getname() != b'FORM': chunk = Chunk(file)
if chunk.getname() != b'FORM':
raise Error('file does not start with FORM id') raise Error('file does not start with FORM id')
formdata = self._file.read(4) formdata = chunk.read(4)
if formdata == b'AIFF': if formdata == b'AIFF':
self._aifc = 0 self._aifc = 0
elif formdata == b'AIFC': elif formdata == b'AIFC':
......
...@@ -94,6 +94,21 @@ class AIFCTest(unittest.TestCase): ...@@ -94,6 +94,21 @@ class AIFCTest(unittest.TestCase):
# XXX: this test fails, not sure if it should succeed or not # XXX: this test fails, not sure if it should succeed or not
# self.assertEqual(f.readframes(5), fout.readframes(5)) # 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(): def test_main():
run_unittest(AIFCTest) run_unittest(AIFCTest)
......
...@@ -15,6 +15,9 @@ Core and Builtins ...@@ -15,6 +15,9 @@ Core and Builtins
Library Library
------- -------
- Issue 5955: aifc's close method did not close the file it wrapped,
now it does. This also means getfp method now returns the real fp.
What's New in Python 3.1 beta 1? What's New in Python 3.1 beta 1?
================================ ================================
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment