mirror of
https://github.com/Grasscutters/mitmproxy.git
synced 2024-12-02 12:01:17 +00:00
ce41046786
- Push decoding down into the LRU cache - Cope gracefully with corrupted data and incorrect encoding headers
34 lines
1009 B
Python
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()
|
|
]
|