aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_encoding.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_encoding.py')
-rw-r--r--test/test_encoding.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/test/test_encoding.py b/test/test_encoding.py
new file mode 100644
index 00000000..ba0755d6
--- /dev/null
+++ b/test/test_encoding.py
@@ -0,0 +1,31 @@
+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())
+
+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])
+
+tests = [
+ udecode_identity(),
+ udecode_gzip(),
+ udecode_deflate()
+]