summaryrefslogtreecommitdiffstats
path: root/deluge/tests/test_bencode.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2023-02-19 14:52:21 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2023-02-19 14:52:21 +0000
commitd1772d410235592b482e3b08b1863f6624d9fe6b (patch)
treeaccfb4b99c32e5e435089f8023d62e67a6951603 /deluge/tests/test_bencode.py
parentInitial commit. (diff)
downloaddeluge-d1772d410235592b482e3b08b1863f6624d9fe6b.tar.xz
deluge-d1772d410235592b482e3b08b1863f6624d9fe6b.zip
Adding upstream version 2.0.3.upstream/2.0.3
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'deluge/tests/test_bencode.py')
-rw-r--r--deluge/tests/test_bencode.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/deluge/tests/test_bencode.py b/deluge/tests/test_bencode.py
new file mode 100644
index 0000000..b49c21f
--- /dev/null
+++ b/deluge/tests/test_bencode.py
@@ -0,0 +1,34 @@
+# -*- coding: utf-8 -*-
+#
+# This file is part of Deluge and is licensed under GNU General Public License 3.0, or later, with
+# the additional special exception to link portions of this program with the OpenSSL library.
+# See LICENSE for more details.
+#
+from __future__ import unicode_literals
+
+from twisted.trial import unittest
+
+from deluge import bencode
+
+from . import common
+
+
+class BencodeTestCase(unittest.TestCase):
+ def test_bencode_unicode_metainfo(self):
+ filename = common.get_test_data_file('test.torrent')
+ with open(filename, 'rb') as _file:
+ metainfo = bencode.bdecode(_file.read())[b'info']
+ bencode.bencode({b'info': metainfo})
+
+ def test_bencode_unicode_value(self):
+ self.assertEqual(bencode.bencode(b'abc'), b'3:abc')
+ self.assertEqual(bencode.bencode('abc'), b'3:abc')
+
+ def test_bdecode(self):
+ self.assertEqual(bencode.bdecode(b'3:dEf'), b'dEf')
+ with self.assertRaises(bencode.BTFailure):
+ bencode.bdecode('dEf')
+ with self.assertRaises(bencode.BTFailure):
+ bencode.bdecode(b'dEf')
+ with self.assertRaises(bencode.BTFailure):
+ bencode.bdecode({'dEf': 123})