cosmopolitan/third_party/python/Lib/test/test_sndhdr.py

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

38 lines
1.4 KiB
Python
Raw Normal View History

import sndhdr
import pickle
import unittest
from test.support import findfile
class TestFormats(unittest.TestCase):
def test_data(self):
for filename, expected in (
('sndhdr.8svx', ('8svx', 0, 1, 0, 8)),
('sndhdr.aifc', ('aifc', 44100, 2, 5, 16)),
('sndhdr.aiff', ('aiff', 44100, 2, 5, 16)),
('sndhdr.au', ('au', 44100, 2, 5.0, 16)),
('sndhdr.hcom', ('hcom', 22050.0, 1, -1, 8)),
('sndhdr.sndt', ('sndt', 44100, 1, 5, 8)),
('sndhdr.voc', ('voc', 0, 1, -1, 8)),
('sndhdr.wav', ('wav', 44100, 2, 5, 16)),
):
filename = findfile(filename, subdir="sndhdrdata")
what = sndhdr.what(filename)
self.assertNotEqual(what, None, filename)
self.assertSequenceEqual(what, expected)
self.assertEqual(what.filetype, expected[0])
self.assertEqual(what.framerate, expected[1])
self.assertEqual(what.nchannels, expected[2])
self.assertEqual(what.nframes, expected[3])
self.assertEqual(what.sampwidth, expected[4])
def test_pickleable(self):
filename = findfile('sndhdr.aifc', subdir="sndhdrdata")
what = sndhdr.what(filename)
for proto in range(pickle.HIGHEST_PROTOCOL + 1):
dump = pickle.dumps(what, proto)
self.assertEqual(pickle.loads(dump), what)
if __name__ == '__main__':
unittest.main()