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
This commit is contained in:
parent
9bc94eca0c
commit
d0d9f7cfa3
|
@ -133,7 +133,7 @@ The following classes are available:
|
|||
encoded data, which contains UID (see PList manual).
|
||||
|
||||
It has one attribute, :attr:`data`, which can be used to retrieve the int value
|
||||
of the UID. :attr:`data` must be in the range `0 <= data <= 2**64`.
|
||||
of the UID. :attr:`data` must be in the range `0 <= data < 2**64`.
|
||||
|
||||
.. versionadded:: 3.8
|
||||
|
||||
|
|
|
@ -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()
|
||||
|
|
Loading…
Reference in New Issue