mirror of
https://github.com/python/cpython.git
synced 2025-12-15 21:44:50 +00:00
Issue 18532: Added tests and documentation to formally specify the .name attribute on hashlib objects.
This commit is contained in:
parent
21e9ac7c1a
commit
b2aa6f4055
2 changed files with 17 additions and 0 deletions
|
|
@ -124,6 +124,18 @@ returned by the constructors:
|
|||
|
||||
The internal block size of the hash algorithm in bytes.
|
||||
|
||||
A hash object has the following attributes:
|
||||
|
||||
.. attribute:: hash.name
|
||||
|
||||
The canonical name of this hash, always lowercase and always suitable as a
|
||||
parameter to :func:`new` to create another hash of this type.
|
||||
|
||||
.. versionchanged:: 3.4
|
||||
The name attribute has been present in CPython since its inception, but
|
||||
until Python 3.4 was not formally specified, so may not exist on some
|
||||
platforms.
|
||||
|
||||
A hash object has the following methods:
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -154,6 +154,11 @@ class HashLibTestCase(unittest.TestCase):
|
|||
assert isinstance(h.digest(), bytes), name
|
||||
self.assertEqual(hexstr(h.digest()), h.hexdigest())
|
||||
|
||||
def test_name_attribute(self):
|
||||
for cons in self.hash_constructors:
|
||||
h = cons()
|
||||
assert isinstance(h.name, str), "No name attribute"
|
||||
assert h.name in self.supported_hash_names
|
||||
|
||||
def test_large_update(self):
|
||||
aas = b'a' * 128
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue