diff -r 61ca4732399b Lib/test/test_wave.py --- a/Lib/test/test_wave.py Wed Sep 04 14:30:16 2013 +0300 +++ b/Lib/test/test_wave.py Wed Sep 04 16:47:28 2013 +0300 @@ -1,6 +1,7 @@ from test.support import TESTFN, unlink import wave import pickle +import array import unittest nchannels = 2 @@ -125,6 +126,23 @@ self.assertEqual(params.framerate, framerate) self.assertIsNone(f.getfp()) + def test_write_array(self): + self.f = wave.open(TESTFN, 'wb') + self.f.setnchannels(nchannels) + self.f.setsampwidth(sampwidth) + self.f.setframerate(framerate) + self.f.setnframes(nframes) + frames = bytes(i % 256 for i in range(nframes * nchannels * sampwidth)) + self.f.writeframes(array.array('h', frames)) + self.f.close() + + self.f = wave.open(TESTFN, 'rb') + self.assertEqual(nchannels, self.f.getnchannels()) + self.assertEqual(sampwidth, self.f.getsampwidth()) + self.assertEqual(framerate, self.f.getframerate()) + self.assertEqual(nframes, self.f.getnframes()) + self.assertEqual(self.f.readframes(nframes), frames) + if __name__ == '__main__': unittest.main()