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).
|
encoded data, which contains UID (see PList manual).
|
||||||
|
|
||||||
It has one attribute, :attr:`data`, which can be used to retrieve the int value
|
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
|
.. versionadded:: 3.8
|
||||||
|
|
||||||
|
|
|
@ -503,6 +503,26 @@ class TestPlistlib(unittest.TestCase):
|
||||||
pl2 = plistlib.loads(data)
|
pl2 = plistlib.loads(data)
|
||||||
self.assertEqual(dict(pl), dict(pl2))
|
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):
|
class TestBinaryPlistlib(unittest.TestCase):
|
||||||
|
|
||||||
|
@ -655,9 +675,5 @@ class MiscTestCase(unittest.TestCase):
|
||||||
support.check__all__(self, plistlib, blacklist=blacklist)
|
support.check__all__(self, plistlib, blacklist=blacklist)
|
||||||
|
|
||||||
|
|
||||||
def test_main():
|
|
||||||
support.run_unittest(TestPlistlib, TestKeyedArchive, MiscTestCase)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
test_main()
|
unittest.main()
|
||||||
|
|
Loading…
Reference in New Issue