mirror of
https://github.com/python/cpython.git
synced 2025-09-18 14:40:43 +00:00
Issue #9243: Fix sndhdr module and add unit tests, contributed by James Lee.
This commit is contained in:
parent
903396ee66
commit
e9ebde48cf
13 changed files with 66 additions and 4 deletions
|
@ -57,12 +57,12 @@ tests = []
|
|||
|
||||
def test_aifc(h, f):
|
||||
import aifc
|
||||
if h.startswith(b'FORM'):
|
||||
if not h.startswith(b'FORM'):
|
||||
return None
|
||||
if h[8:12] == b'AIFC':
|
||||
fmt = 'aifc'
|
||||
elif h[8:12] == b'AIFF':
|
||||
fmt = b'aiff'
|
||||
fmt = 'aiff'
|
||||
else:
|
||||
return None
|
||||
f.seek(0)
|
||||
|
@ -123,7 +123,7 @@ tests.append(test_hcom)
|
|||
|
||||
|
||||
def test_voc(h, f):
|
||||
if h.startswith(b'Creative Voice File\032'):
|
||||
if not h.startswith(b'Creative Voice File\032'):
|
||||
return None
|
||||
sbseek = get_short_le(h[20:22])
|
||||
rate = 0
|
||||
|
@ -150,7 +150,7 @@ tests.append(test_wav)
|
|||
|
||||
|
||||
def test_8svx(h, f):
|
||||
if h.startswith(b'FORM') or h[8:12] != b'8SVX':
|
||||
if not h.startswith(b'FORM') or h[8:12] != b'8SVX':
|
||||
return None
|
||||
# Should decode it to get #channels -- assume always 1
|
||||
return '8svx', 0, 1, 0, 8
|
||||
|
|
12
Lib/test/sndhdrdata/README
Normal file
12
Lib/test/sndhdrdata/README
Normal file
|
@ -0,0 +1,12 @@
|
|||
Sound file samples used by Lib/test/test_sndhdr.py and generated using the
|
||||
following commands:
|
||||
|
||||
dd if=/dev/zero of=sndhdr.raw bs=20 count=1
|
||||
sox -s -2 -c 2 -r 44100 sndhdr.raw sndhdr.<format>
|
||||
|
||||
Sound file samples used by Lib/test/test_sndhdr.py and generated using the
|
||||
following commands:
|
||||
|
||||
dd if=/dev/zero of=sndhdr.raw bs=20 count=1
|
||||
sox -s -2 -c 2 -r 44100 sndhdr.raw sndhdr.<format>
|
||||
|
BIN
Lib/test/sndhdrdata/sndhdr.8svx
Normal file
BIN
Lib/test/sndhdrdata/sndhdr.8svx
Normal file
Binary file not shown.
BIN
Lib/test/sndhdrdata/sndhdr.aifc
Normal file
BIN
Lib/test/sndhdrdata/sndhdr.aifc
Normal file
Binary file not shown.
BIN
Lib/test/sndhdrdata/sndhdr.aiff
Normal file
BIN
Lib/test/sndhdrdata/sndhdr.aiff
Normal file
Binary file not shown.
BIN
Lib/test/sndhdrdata/sndhdr.au
Normal file
BIN
Lib/test/sndhdrdata/sndhdr.au
Normal file
Binary file not shown.
BIN
Lib/test/sndhdrdata/sndhdr.hcom
Normal file
BIN
Lib/test/sndhdrdata/sndhdr.hcom
Normal file
Binary file not shown.
BIN
Lib/test/sndhdrdata/sndhdr.sndt
Normal file
BIN
Lib/test/sndhdrdata/sndhdr.sndt
Normal file
Binary file not shown.
BIN
Lib/test/sndhdrdata/sndhdr.voc
Normal file
BIN
Lib/test/sndhdrdata/sndhdr.voc
Normal file
Binary file not shown.
BIN
Lib/test/sndhdrdata/sndhdr.wav
Normal file
BIN
Lib/test/sndhdrdata/sndhdr.wav
Normal file
Binary file not shown.
47
Lib/test/test_sndhdr.py
Normal file
47
Lib/test/test_sndhdr.py
Normal file
|
@ -0,0 +1,47 @@
|
|||
import sndhdr
|
||||
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, -1, 16)),
|
||||
):
|
||||
filename = findfile(filename, subdir="sndhdrdata")
|
||||
what = sndhdr.what(filename)
|
||||
self.assertNotEqual(what, None, filename)
|
||||
self.assertSequenceEqual(what, expected)
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
||||
import sndhdr
|
||||
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, -1, 16)),
|
||||
):
|
||||
filename = findfile(filename, subdir="sndhdrdata")
|
||||
what = sndhdr.what(filename)
|
||||
self.assertNotEqual(what, None, filename)
|
||||
self.assertSequenceEqual(what, expected)
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
|
@ -454,6 +454,7 @@ Ben Laurie
|
|||
Simon Law
|
||||
Chris Lawrence
|
||||
Brian Leair
|
||||
James Lee
|
||||
John J. Lee
|
||||
Inyeol Lee
|
||||
Thomas Lee
|
||||
|
|
|
@ -473,6 +473,8 @@ C-API
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue #9243: Fix sndhdr module and add unit tests, contributed by James Lee.
|
||||
|
||||
- ``ast.literal_eval()`` now allows byte literals.
|
||||
|
||||
- Issue #9137: Fix issue in MutableMapping.update, which incorrectly
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue