summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorJon Janzen <jjjonjanzen@gmail.com>2019-11-01 16:45:01 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2019-11-01 16:45:01 (GMT)
commitd0d9f7cfa36bafa4e1d9e73eb08835180d376df1 (patch)
tree2b2f59b9f77462ed26592395cfa1c1d631daddb5 /Lib
parent9bc94eca0c69a551f928692364a99e9b67c4a45b (diff)
downloadcpython-d0d9f7cfa36bafa4e1d9e73eb08835180d376df1.zip
cpython-d0d9f7cfa36bafa4e1d9e73eb08835180d376df1.tar.gz
cpython-d0d9f7cfa36bafa4e1d9e73eb08835180d376df1.tar.bz2
Slightly improve plistlib test coverage. (GH-17025)
* Add missing test class (mistake in GH-4455) * Increase coverage with 4 more test cases * Rename neg_uid to huge_uid in test_modified_uid_huge * Replace test_main() with unittest.main() * Update plistlib docs
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/test_plistlib.py26
1 files changed, 21 insertions, 5 deletions
diff --git a/Lib/test/test_plistlib.py b/Lib/test/test_plistlib.py
index d3ef6f8..e82a53c 100644
--- a/Lib/test/test_plistlib.py
+++ b/Lib/test/test_plistlib.py
@@ -503,6 +503,26 @@ class TestPlistlib(unittest.TestCase):
pl2 = plistlib.loads(data)
self.assertEqual(dict(pl), dict(pl2))
+ def test_dump_invalid_format(self):
+ with self.assertRaises(ValueError):
+ plistlib.dumps({}, fmt="blah")
+
+ def test_load_invalid_file(self):
+ with self.assertRaises(plistlib.InvalidFileException):
+ plistlib.loads(b"these are not plist file contents")
+
+ def test_modified_uid_negative(self):
+ neg_uid = UID(1)
+ neg_uid.data = -1 # dodge the negative check in the constructor
+ with self.assertRaises(ValueError):
+ plistlib.dumps(neg_uid, fmt=plistlib.FMT_BINARY)
+
+ def test_modified_uid_huge(self):
+ huge_uid = UID(1)
+ huge_uid.data = 2 ** 64 # dodge the size check in the constructor
+ with self.assertRaises(OverflowError):
+ plistlib.dumps(huge_uid, fmt=plistlib.FMT_BINARY)
+
class TestBinaryPlistlib(unittest.TestCase):
@@ -655,9 +675,5 @@ class MiscTestCase(unittest.TestCase):
support.check__all__(self, plistlib, blacklist=blacklist)
-def test_main():
- support.run_unittest(TestPlistlib, TestKeyedArchive, MiscTestCase)
-
-
if __name__ == '__main__':
- test_main()
+ unittest.main()