Commit 71d5b2b2 authored by Jason R. Coombs's avatar Jason R. Coombs

Issue 18532: Added tests and documentation to formally specify the .name...

Issue 18532: Added tests and documentation to formally specify the .name attribute on hashlib objects.
parent 32fba331
......@@ -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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment