summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2017-11-23 22:02:56 +0100
committerMichał Górny <mgorny@gentoo.org>2017-11-23 22:02:56 +0100
commitcab7cf080fced108efc1ec8e7e8f7470987fde70 (patch)
tree954f271c4d63c36338bc0437f2435f0d08f25263 /tests
parent6583192fdcaf16d4e6209ced0d9d02a1328425c7 (diff)
downloadgemato-cab7cf080fced108efc1ec8e7e8f7470987fde70.tar.gz
manifest: Encode all C0/C1 control characters + DEL
Diffstat (limited to 'tests')
-rw-r--r--tests/test_manifest.py41
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/test_manifest.py b/tests/test_manifest.py
index c327521..fe1a060 100644
--- a/tests/test_manifest.py
+++ b/tests/test_manifest.py
@@ -465,6 +465,27 @@ class ManifestPathEncodingTest(unittest.TestCase):
self.assertListEqual(list(m.to_list()),
['DATA', 'tes\\x00t', '32'])
+ def test_encode_bell_in_filename(self):
+ m = gemato.manifest.new_manifest_entry('DATA',
+ 'tes\at', 32, {})
+ self.assertEqual(m.path, 'tes\at')
+ self.assertListEqual(list(m.to_list()),
+ ['DATA', 'tes\\x07t', '32'])
+
+ def test_encode_del_in_filename(self):
+ m = gemato.manifest.new_manifest_entry('DATA',
+ 'tes\x7Ft', 32, {})
+ self.assertEqual(m.path, 'tes\x7Ft')
+ self.assertListEqual(list(m.to_list()),
+ ['DATA', 'tes\\x7Ft', '32'])
+
+ def test_encode_pad_in_filename(self):
+ m = gemato.manifest.new_manifest_entry('DATA',
+ u'tes\u0080t', 32, {})
+ self.assertEqual(m.path, u'tes\u0080t')
+ self.assertListEqual(list(m.to_list()),
+ ['DATA', 'tes\\u0080t', '32'])
+
def test_encode_backslash_in_filename(self):
m = gemato.manifest.new_manifest_entry('DATA',
'tes\\t', 32, {})
@@ -512,6 +533,26 @@ class ManifestPathEncodingTest(unittest.TestCase):
'tes\\x00t', 32])
self.assertEqual(m.path, 'tes\x00t')
+ def test_decode_bell_in_filename(self):
+ m = gemato.manifest.ManifestEntryDATA.from_list(['DATA',
+ 'tes\\x07t', 32])
+ self.assertEqual(m.path, 'tes\at')
+
+ def test_decode_del_in_filename(self):
+ m = gemato.manifest.ManifestEntryDATA.from_list(['DATA',
+ 'tes\\x7Ft', 32])
+ self.assertEqual(m.path, 'tes\x7Ft')
+
+ def test_decode_del_in_filename_lc(self):
+ m = gemato.manifest.ManifestEntryDATA.from_list(['DATA',
+ 'tes\\x7ft', 32])
+ self.assertEqual(m.path, 'tes\x7Ft')
+
+ def test_decode_pad_in_filename(self):
+ m = gemato.manifest.ManifestEntryDATA.from_list(['DATA',
+ 'tes\\u0080t', 32])
+ self.assertEqual(m.path, u'tes\u0080t')
+
def test_decode_backslash_in_filename(self):
m = gemato.manifest.ManifestEntryDATA.from_list(['DATA',
'tes\\x5Ct', 32])