mitmproxy/test/test_encoding.py
Aldo Cortesi ce41046786 Refine encoding support
- Push decoding down into the LRU cache
- Cope gracefully with corrupted data and incorrect encoding headers
2011-07-17 10:25:25 +12:00

34 lines
1009 B
Python

from libmproxy import encoding
import libpry
import cStringIO
import gzip, zlib
class udecode_identity(libpry.AutoTree):
def test_decode(self):
assert 'string' == encoding.decode('identity', 'string')
def test_fallthrough(self):
assert 'string' == encoding.decode('nonexistent encoding', 'string')
class udecode_gzip(libpry.AutoTree):
def test_simple(self):
s = cStringIO.StringIO()
gf = gzip.GzipFile(fileobj=s, mode='wb')
gf.write('string')
gf.close()
assert 'string' == encoding.decode('gzip', s.getvalue())
assert None == encoding.decode("gzip", "bogus")
class udecode_deflate(libpry.AutoTree):
def test_simple(self):
assert 'string' == encoding.decode('deflate', zlib.compress('string'))
assert 'string' == encoding.decode('deflate', zlib.compress('string')[2:-4])
assert None == encoding.decode("deflate", "bogus")
tests = [
udecode_identity(),
udecode_gzip(),
udecode_deflate()
]